WO2019167380A1 - コンピュータプログラム、画像処理方法、及び通信装置 - Google Patents
コンピュータプログラム、画像処理方法、及び通信装置 Download PDFInfo
- Publication number
- WO2019167380A1 WO2019167380A1 PCT/JP2018/045611 JP2018045611W WO2019167380A1 WO 2019167380 A1 WO2019167380 A1 WO 2019167380A1 JP 2018045611 W JP2018045611 W JP 2018045611W WO 2019167380 A1 WO2019167380 A1 WO 2019167380A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- image data
- user
- learning model
- function
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
Definitions
- the present invention relates to a computer program, an image processing method, and a communication device.
- This application claims priority based on Japanese Patent Application No. 2018-036137 filed on Mar. 1, 2018, and incorporates all the contents described in the above Japanese application.
- a video conferencing system for connecting a plurality of remote locations and conducting a conference with bidirectional images and sounds is known.
- conference members talk while looking at the other party displayed on the display.
- the members of the conference are photographed by the camera, and the video is displayed on the other party's display. Since the installation position of the camera is different from the front of the display on which the member gazes, there is a line-of-sight discrepancy in which the line of sight of the face image reflected on the display deviates from the line of sight of the other party speaking.
- Patent Documents 1 and 2 listed below propose techniques for matching the line of sight in a video conference system.
- Patent Document 1 it is determined whether or not a conversation person represented by a camera input image is gazing at a conversation partner based on a classifier learned in advance. If it is determined that the user is gazing, an image obtained when the camera is gazed in the eye area of the conversation person represented by the camera input image is synthesized. An image to be synthesized is captured in advance for each conversation person and stored in the system as a gaze image. Thereby, a line-of-sight matching image is generated.
- an RGB-D camera capable of outputting depth data together with a camera image (RGB color image) is used.
- a three-dimensional model of the member's face area is generated.
- the generated three-dimensional model is rotated according to the angular difference (known) between the orientation of the display and the orientation of the camera.
- a line-of-sight image is generated by replacing the face area of the camera image with the obtained rotated image.
- a computer program includes an image acquisition function for acquiring non-frontal image data of a user and a human image including a human face area captured from each of the non-frontal and frontal planes From the non-front image data of the user acquired by the image acquisition function, the image data of the front of the user is obtained based on the non-front image data acquired by the image acquisition function using a learning model that learns the change of the person image between the non-front and the front.
- a generation function for generating is realized.
- an image processing method includes a step of acquiring non-front image data of a user, and a person image including a human face area captured from each of the non-front and the front. Generating image data of the front of the user based on the acquired image data of the non-front of the user using a learning model in which the change of the person image in the front and the front is learned.
- a communication device includes an image acquisition unit for acquiring non-front image data of a user, and a human image including a human face area captured from each of the non-front and front surfaces.
- the image data of the front of the user is generated based on the image data of the non-front of the user acquired by the image acquisition unit using a learning model in which the change of the person image between the non-front and the front is learned.
- a generating unit for performing the processing is performed.
- the present disclosure can be realized not only as a communication apparatus including such a characteristic processing unit, an image processing method using the characteristic process as a step, and a computer program for causing the computer to execute the step. It can be realized as a semiconductor integrated circuit that realizes part or all of the communication device.
- step S3000 of FIG. It is a figure which shows the detailed flow of step S3000 of FIG. It is a figure for demonstrating the example of arrangement
- block diagram which shows the functional structure of the communication terminal which concerns on 3rd Embodiment. It is a figure for demonstrating the outline
- flowchart which shows the control structure of the program run with the computer for learning model construction in 3rd Embodiment.
- FIG. 30 is a control block diagram illustrating a hardware configuration of the server illustrated in FIG. 29. It is a flowchart which shows the control structure of the program run with the server shown in FIG. It is a figure which shows the detailed flow of step S7100 of FIG.
- Patent Document 1 In the technique disclosed in Patent Document 1, only the eye area of the conversation person is replaced with an image when the camera is watched. Although the line of sight matches, there is a problem that the direction of the conversation person's face does not coincide with the conversation partner. In addition, there is also a problem that a line-of-sight matching image cannot be generated for a conversation person who does not store a gaze image.
- Patent Document 2 since the three-dimensional model of the face region is rotated, the face orientation can be matched with the opponent. However, this requires an RGB-D camera. In other words, Patent Document 2 has a problem that a special device is required for use.
- the present disclosure relates to a computer program, an image processing method, and a communication for realizing line-of-sight matching with high presence without selecting a user (interactive person) and using a special device such as an RGB-D camera.
- An object is to provide an apparatus.
- a computer program includes, in a computer, an image acquisition function for acquiring non-frontal image data of a user, and a person's face area imaged from each of the front and front sides Image data of the front of the user based on the non-front image data of the user acquired by the image acquisition function using a learning model in which changes in the person image between non-front and front are learned from an image A generation function for generating the.
- the generation function generates image data of the front of the user based on the non-front image data of the user acquired by the image acquisition function using the learning model. This makes it possible to generate a line-of-sight image with a high sense of presence without selecting a user and using a special device such as an RGB-D camera.
- the image acquisition function is configured so that the non-front of a user who operates the computer via an imaging device for capturing a non-front image including a user's face area.
- the computer program further causes the computer to realize a transmission function for transmitting the front image data generated by the generation function to another computer. Also good.
- the front image data generated by the generation function is transmitted to another computer by the transmission function. Since the front image of the user is displayed on the other party's display (display device), the line of sight of the face image shown on the display matches the line of sight of the other party who is talking while looking at the display.
- the front image is a line-of-sight image that matches not only the line of sight but also the face direction with the partner. Therefore, by displaying such a front image on the other party's display, a sense of reality can be further enhanced.
- the front image is generated from the image data of the user's non-front using a learning model, so that a special device such as an RGB-D camera is not required.
- generation of a front image using the learning model is possible if there is image data of the user's non-front. Therefore, a front image (line-of-sight matching image) can be easily generated for any user. That is, no user is selected.
- the image acquisition function includes a function for acquiring non-frontal image data including a face area of a user who operates another computer via a network.
- the computer program may further cause the computer to realize a display function for causing the display device to display a front image indicated by the front image data generated by the generation function.
- the front image data generated by the generation function is displayed on the display device (display) by the display function. Since the front image of the user who operates another computer is displayed on the display, the line of sight of the face image shown on the display matches the line of sight of the user who is talking while looking at the display.
- the front image is a line-of-sight image that matches not only the line of sight but also the face direction with the partner. Therefore, it is possible to further enhance the sense of reality by displaying such a front image on the display.
- the front image is generated from the non-front image data acquired via the network using the learning model, not only the side that receives the non-front image data but also the side that transmits the RGB- A special device such as a D camera is not required.
- generation of a front image using the learning model is possible if there is image data of the user's non-front. Therefore, a front image (line-of-sight matching image) can be easily generated for any user. That is, no user is selected.
- the learning model is obtained by converting the person image including the face area of the person captured from each of the non-front and the front, A face part learning model that learns changes of each face part constituting the face, wherein the generation function extracts a face part from the non-frontal image data of the user acquired by the image acquisition function Using a part extraction function, a conversion function for converting the facial part extracted by the facial part extraction function into a facial part in front of the user using the facial part learning model, and a front face converted by the conversion function A front image generation function for generating image data of the front of the user using the part may be included. Thereby, the generation time of the front image data can be shortened.
- the learning model is classified into groups, and from a person image including a human face area captured from each of the non-front and the front, A classification learning model in which a change in the person image is learned for each group, and the generation function is based on the non-frontal image data of the user acquired by the image acquisition function.
- the selection function for selecting a group to which the person image indicated by the non-front image data belongs and the classification learning model of the group selected by the selection function the user of the user acquired by the image acquisition function And a function for generating image data of the front of the user based on the non-front image data.
- the learning model includes a human image including a plurality of non-front images of human faces captured in different directions, and a human image captured from the front.
- a change in the person image between a non-front and a front is learned from a person image including a region, and the generation function uses the learning model to acquire the non-front of the user acquired by the image acquisition function.
- the image data of the front of the user may be generated based on the image data. Thereby, front image data can be generated more effectively. For example, even when the installation position of the imaging device is changed, front image data can be generated from a user's non-front image data using a learning model.
- the image processing method includes a step of acquiring non-front image data of a user, and a person image including a human face area captured from each of the non-front and front, Generating the front image data of the user based on the acquired non-front image data of the user using a learning model in which the change of the person image is learned.
- the front image data of the user is generated based on the non-front image data of the user acquired in the step of acquiring image data. This makes it possible to generate a line-of-sight image with a high sense of presence without selecting a user and using a special device such as an RGB-D camera.
- the communication apparatus includes a non-frontal image data of a user and a human image including a human face image captured from each of the non-frontal and frontal areas.
- a learning model that has learned the change of the person image between the front and the front A generating unit.
- the generation unit generates image data of the front of the user based on the non-front image data of the user acquired by the image acquisition unit using the learning model. This makes it possible to generate a line-of-sight image with a high sense of presence without selecting a user and using a special device such as an RGB-D camera.
- video conference system 10 includes a first communication terminal 100A and a second communication terminal 100B.
- the first communication terminal 100A and the second communication terminal 100B are both personal computers (PCs), and are collectively referred to as “communication terminal 100”.
- the first communication terminal 100 ⁇ / b> A and the second communication terminal 100 ⁇ / b> B are connected to each other via a network 50 so that they can communicate with each other.
- the first communication terminal 100A is used by the user A who is a member of the conference
- the second communication terminal 100B is used by the user B who is a member of the same conference.
- the number of communication terminals 100 is not limited to two, and may be three or more.
- the video conference system 10 further includes a display 60, a camera 70, and a microphone speaker 80 connected to the communication terminal 100.
- the display 60 includes a first display 60a and a second display 60b
- the camera 70 includes a first camera 70a and a second camera 70b
- the microphone speaker 80 is a first microphone speaker 80a and a second microphone speaker. 80b is included.
- the first display 60a, the first camera 70a, and the first microphone speaker 80a are connected to the first communication terminal 100A.
- the first display 60a is a display device such as a liquid crystal display, for example, and displays an image of the partner member (user B).
- the first camera 70a is an imaging device for imaging the user A who uses the first communication terminal 100A.
- As the first camera 70a for example, a Web camera that can capture still images and moving images can be used.
- the first microphone speaker 80a includes a microphone 82a and a speaker 84a. In the first microphone speaker 80a, a microphone 82a and a speaker 84a are integrated by a housing.
- a second display 60b, a second camera 70b, and a second microphone speaker 80b are connected to the second communication terminal 100B.
- the second display 60b is a display device such as a liquid crystal display, for example, and displays an image of the partner member (user A).
- the second camera 70b is an imaging device for imaging the user B who uses the second communication terminal 100B.
- a Web camera that can capture still images and moving images can be used.
- the second microphone speaker 80b includes a microphone 82b and a speaker 84b. In the second microphone speaker 80b, a microphone 82b and a speaker 84b are integrated by a housing.
- the microphone speaker 80 may replace with the microphone speaker 80 and the structure by which a microphone and a speaker are separately connected to the 1st communication terminal 100A and the 2nd communication terminal 100B may be sufficient.
- the microphone may be a type built in the camera 70.
- the speaker may also be a type built in the display 60.
- the microphones 82a and 82b and the speakers 84a and 84b are collectively referred to as the microphone 82 and the speaker 84, respectively.
- the first communication terminal 100A captures an image including the face area of the user A by the first camera 70a, and acquires the voice of the user A by the first microphone speaker 80a (the microphone 82a).
- the first communication terminal 100A transmits the image and sound of the user A to another communication terminal (here, the second communication terminal 100B) via the network 50.
- the second communication terminal 100B displays the image of the user A transmitted from the first communication terminal 100A on the second display 60b, and in synchronization with this, the user A's voice is displayed on the second microphone speaker 80b ( Output from the speaker 84b).
- the second communication terminal 100B captures an image including the face area of the user B by the second camera 70b, and acquires the voice of the user B by the second microphone speaker 80b (microphone 82b).
- the second communication terminal 100B transmits the image and sound of the user B to another communication terminal (here, the first communication terminal 100A) via the network 50.
- the first communication terminal 100A displays the image of the user B transmitted from the second communication terminal 100B on the first display 60a, and synchronizes with this to display the user B's voice in the first microphone speaker 80a ( Output from speaker 84a).
- both the user A image captured by the first camera 70a and the user B image captured by the second camera 70b are non-frontal images.
- the screen of the display 60 is positioned in front of the user.
- the camera 70 is installed in the frame portion of the display 60. That is, the installation position of the camera 70 is different from the front of the display that the user gazes at. Therefore, the user's imaging by the camera 70 is imaging from an oblique direction. Therefore, the obtained image is a non-frontal image of the user.
- the first communication terminal 100A generates a front image of the user A using a learning model described later based on the non-front image of the user A, and transmits the generated front image to the second communication terminal 100B.
- the second communication terminal 100B generates a front image of the user B using a learning model described later based on the non-front image of the user B, and transmits the generated front image to the first communication terminal 100A. To do.
- front with respect to the display means that the orientation of the user's face is within a predetermined boundary angle from the direction along the normal of the display
- non-front means that the user Means that the face direction is within a range larger than a predetermined boundary angle from the direction along the normal line of the display.
- the boundary angle includes a horizontal angle and a vertical angle. This boundary angle can be, for example, not less than 0 degrees and not more than 45 degrees. A more preferable boundary angle is 0 degree or more and 30 degrees or less, and a more preferable boundary angle is 0 degree or more and 15 degrees or less.
- front image means a user image viewed from the front direction
- non-front image means the user image viewed from the other direction (non-front direction).
- front image means a user image viewed from the front direction
- non-front image means the user image viewed from the other direction (non-front direction).
- the front image of the user B is displayed on the first display 60a on the user A side, and the front image of the user A is displayed on the second display 60b on the user B side. Therefore, the line of sight of the user B reflected on the first display 60a and the line of sight of the user A who talks while looking at the first display 60a match. Similarly, the line of sight of the user A reflected on the second display 60b and the line of sight of the user B who talks while looking at the second display 60b match.
- communication terminal 100 includes a control unit 110, a storage device 120, an input interface (hereinafter “interface” is referred to as “IF”) 130, an output IF 140, and a communication IF 150.
- interface hereinafter “interface” is referred to as “IF”
- the control unit 110 is substantially a computer, and includes a CPU (Central Processing Unit) 112, a GPU (Graphics Processing Unit) 114, a ROM (Read-Only Memory) 116, and a RAM (Random Access Memory) 118.
- the CPU 112 controls the communication terminal 100 as a whole.
- the GPU 114 executes image calculation processing.
- the ROM 116 is a nonvolatile storage device.
- the ROM 116 stores a program and data for the CPU 112 to control the communication terminal 100.
- the RAM 118 is a volatile storage device.
- the storage device 120 is a non-volatile storage device, for example, a hard disk driver (HDD) or a flash memory.
- HDD hard disk driver
- CPU 112, GPU 114, ROM 116, RAM 118, storage device 120, input IF 130, output IF 140, and communication IF 150 are all connected to bus 160, and data exchange among them is performed via bus 160.
- the input IF 130 provides an interface related to the connection between the camera 70 and the microphone 82.
- the input IF 130 further provides an interface related to a connection between a mouse and a keyboard (both not shown).
- the output IF 140 provides an interface related to the connection between the display 60 and the speaker 84.
- the communication IF 150 provides a connection to the network 50 by wire or wireless (in this embodiment, wired).
- the bus 160, the GPU 114, the ROM 116, the RAM 118, the storage device 120, the input IF 130, the output IF 140, and the communication IF 150 all operate in cooperation under the control of the CPU 112, and the communication terminal 100 as a communication terminal according to the present embodiment.
- Implements processing by various applications include, for example, a video conference system that generates and displays a line-of-sight image with a higher sense of realism without selecting a user and using a special device such as an RGB-D camera (Depth camera).
- a communication terminal is realized.
- the communication terminal 100 further stores, in the storage device 120, a learning model used when generating a front image of the user from the non-front image of the user captured by the camera 70.
- a computer program for causing communication terminal 100 to operate as a communication terminal in video conference system 10 is an optical disc inserted into an optical disc drive (not shown) connected to communication terminal 100. And further transferred to the storage device 120. Alternatively, the program may be transmitted to the communication terminal 100 through the network 50 and stored in the storage device 120. The program is loaded into the RAM 118 at the time of execution. The program may be loaded into the RAM 118 directly from the optical disk or via the network 50.
- the control unit 110 of the communication terminal 100 includes an image processing unit 200 and an audio processing unit 210 as functional units.
- the image processing unit 200 includes an image generation unit 202.
- the storage device 120 stores a learning model storage unit that stores a learning model obtained by machine learning of changes in a person image between the non-front and the front from a person image including a human face area captured from each of the non-front and the front. 122 is included.
- the image processing unit 200 has an image acquisition function for acquiring non-frontal image data of the user via the camera 70.
- the image generation unit 202 uses the learning model stored in the learning model storage unit 122 to generate image data of the front of the user based on the non-front image data of the user acquired by the image acquisition function.
- the voice processing unit 210 has a function of acquiring user voice data via the microphone 82 and executing predetermined processing.
- the control unit 110 further controls the communication IF 150 to transmit the front image data generated by the generation function and the audio data acquired by the audio processing unit 210 to other communication terminals on the network 50. have.
- a learning model is constructed in advance by machine learning.
- the constructed learning model is used when a front image of the user is generated when the video conference system 10 is used.
- a phase for building a learning model is referred to as a “learning phase”
- a phase for using the video conference system 10 is referred to as a “use phase”.
- a computer different from the communication terminal 100 constituting the video conference system 10 can be used.
- a computer for constructing a learning model includes a learning model generation unit 220.
- the learning model generation unit 220 receives a non-front image of a person and a front image of the person.
- the front image is used as teacher data. That is, the learning model generation unit 220 learns the change of the person image between the non-front and the front. More specifically, the learning model generation unit 220 performs machine learning on how the front image looks with respect to the input non-front image (change from the non-front image to the front image).
- CNN convolutional neural network
- DNN deep neural network
- GAN Generic Adverse Network
- the training data is acquired by capturing a human image including a face area with a plurality of cameras 170 and cameras 180.
- the camera 170 acquires a non-front image of the person, and the camera 180 acquires a front image of the person. Therefore, the camera 170 is installed at a position where a non-front image of a person can be captured, and the camera 180 is installed at a position where a front image of the person can be captured.
- the camera 170 is installed at a place where the camera 70 is normally installed when the video conference system 10 is used (for example, an upper part of the display 190).
- the camera 180 is installed at a front position on the back side of the display 190 (for example, a position where a conversation partner is displayed).
- Hole processing is performed at a position where the camera 180 of the display 190 is installed, and the camera 180 is configured to be able to capture a front image of a person gazing at the display 190.
- the image of the conversation partner may be displayed on the display 190.
- the training data which considered the utilization phase more is acquired.
- the plurality of cameras 170 and the cameras 180 use the same model or cameras having equivalent functions.
- half mirror 194 is installed at a predetermined angle in front of a person, and camera 180 is installed on the back side of half mirror 194.
- a display 192 is disposed below the half mirror 194.
- the camera 180 captures a front image of a person that has passed through the half mirror 194.
- the camera 170 is installed at a position where a non-front image of a person can be captured.
- the camera 170 is installed at a position where a non-front image of a person can be captured and the camera 180 is installed at a position where a front image of the person can be captured, it is possible to acquire training data. Therefore, a dummy display (not shown) may be used instead of the display 190 (see FIG. 5). Thereby, the hole processing to a display becomes easy. Furthermore, if there is a camera 170 and a support member that supports the camera 180, a configuration in which a display is not provided is also possible.
- the camera 170 may be installed at the center of the upper end of the display, the camera 172 may be installed at the right end of the display, and the camera 174 may be installed at the left end of the display.
- training data can be acquired at positions corresponding to a plurality of positions where the camera 70 (see FIG. 1) is assumed to be installed when the video conference system 10 is used.
- a learning model may be constructed by performing machine learning using such training data.
- a half mirror may be used as described above, or a dummy display may be used.
- the training data set 230 includes a plurality of training data 230_1 to 230_n in which a front image and a non-front image are paired.
- the data set 230 is preferably configured to include training data for various persons.
- the relative positions of facial parts (eyes, nose, mouth, etc.) that make up a person's face are different, various face types (round face, square face, etc.), or people with different body shape, gender, age, etc.
- the training data dataset 230 is divided into training data for learning and training data for testing for confirming the accuracy of the learning model. That is, a part of the data set 230 is used as test data for confirming the accuracy of the learning model.
- the learning model is constructed as described above.
- the constructed learning model is stored in the learning model storage unit 122 so as to be usable by the image generation unit 202 (see FIG. 3) of the communication terminal 100.
- Step S1000 This program is executed after step S1000 for initializing model parameters and after step S1000.
- Steps S1020 to S1040 described below are performed in accordance with a difference in accuracy of the learning model between the previous iteration and the current iteration.
- Step S1010 that repeats machine learning until the value becomes equal to or less than the value, and Step S1050 that is executed after Step S1010 and stores a learning model constructed by machine learning are included.
- step S1010 the process of repeating the machine learning until the difference in the accuracy of the learning model is equal to or smaller than a predetermined value is performed by inputting a training data dataset including a pair of a front image and a non-front image of a person.
- Step S1030 is executed after step S1030, and accuracy calculation is performed by comparing the data obtained by inputting test data with the front image data of the test data, and comparing with the previous accuracy.
- the constructed learning model is stored in the storage device 120 of the communication terminal 100, whereby a learning model storage unit 122 is formed.
- This program determines whether or not communication is connected to another communication terminal, and waits until the communication is connected.
- step S2000 the video data is transmitted in response to the connection.
- Step S2100 for executing processing
- Step S2200 for executing reception processing of video data in response to connection of communication, and execution after Step S2100 and Step S2200, and determining whether or not the communication has ended.
- step S2300 for diverging the flow of control according to the determination result. If it is determined in step S2300 that communication has not ended, control returns to step S2100 and step S2200. If it is determined in step S2300 that the communication has ended, the program ends.
- FIG. 11 is a detailed flow of step S2100 of FIG.
- step S2110 for inputting user image data (non-frontal image data) including a face area output from camera 70 (see FIG. 3) to image generation unit 202;
- step S2120 is executed after S2110 and the non-front image data is converted into the front image data using the learning model stored in the learning model storage unit 122.
- the audio data acquired by the microphone 82 is input to the audio processing unit 210, and after step S2120 and step S2130, the front image data and audio data are compressed (encoded), and then communicated.
- Step S2 for transmitting the compressed data to another communication terminal via the IF 150 (see FIG. 3). And a 40.
- this routine ends.
- FIG. 12 is a detailed flow of step S2200 of FIG. Referring to FIG. 12, this routine acquires video data (image data and audio data) transmitted from another communication terminal via network 50, and decompresses (decodes) the acquired video data in step S2210.
- Step S2210 is executed after step S2210, and the acquired image data is displayed on the display 60.
- Step S2220 is executed after step S2210, and the acquired audio data is displayed on the speaker 84 (FIG. 3) in synchronization with the display on the display 60.
- step S2230 for outputting from step S2230. When the processes of step S2220 and step S2230 are finished, this routine is finished.
- the video conference system 10 operates as follows.
- first communication terminal 100A and second communication terminal 100B are connected via network 50 (YES in step S2000 of FIG. 10).
- the first camera 70a captures a non-front image including the face area of the user A.
- the first microphone speaker 80a collects the sound uttered by the user A.
- the second camera 70b captures a non-front image including the face area of the user B.
- the second microphone speaker 80b collects the sound emitted by the user B.
- non-frontal image data of user A captured by first camera 70a is input to image processing unit 200 (image generation unit 202) of first communication terminal 100A (FIG. 11).
- Step S2110) When the non-front image data is input, the image generation unit 202 uses the learning model stored in the learning model storage unit 122 to convert the front image data of the user A based on the input non-front image data. Generate and output (step S2120).
- the image generation unit 202 When the input non-front image data is moving image data, the image generation unit 202 generates and outputs the front image data of the user A for each frame image, for example.
- the audio data of user A collected by the first microphone speaker 80a (microphone 82a) is input to the audio processing unit 210 (step S2130).
- the image processing unit 200 compresses the front image data generated by the image generation unit 202.
- the audio processing unit 210 performs compression processing on the input audio data.
- the control unit 110 controls the communication IF 150 to transmit the compressed front image data and audio data to the second communication terminal 100B via the network 50 (step S2140).
- the second communication terminal 100B operates in the same manner as the first communication terminal 100A.
- the second communication terminal 100B receives the front image data and audio data transmitted from the first communication terminal 100A, and decompresses the data (step S2210 in FIG. 12).
- the second communication terminal 100B displays the front image of the user A indicated by the front image data on the second display 60b (step S2220), and outputs the voice of the user A from the speaker 84b in synchronization (step S2230). ).
- the first communication terminal 100A receives the front image data and audio data transmitted from the second communication terminal 100B, and decompresses the data.
- the first communication terminal 100A displays the front image of the user B indicated by the front image data on the first display 60a, and outputs the user B's voice from the speaker 84a in synchronization therewith.
- User A and User B perform a remote dialogue with each other while watching the images of User B and User A displayed on the second display 60b, respectively, on the first display 60a.
- the image generation unit 202 uses the learning model stored in the learning model storage unit 122 to generate image data of the user's front based on the user's non-front image data.
- the generated front image data is transmitted to another communication terminal via the network 50. Since the front image of the user is displayed on the other party's display, the line of sight of the face image shown on the display matches the line of sight of the other party who is talking while looking at the display.
- the front image is a line-of-sight image that matches not only the line of sight but also the face direction with the partner. In addition, the position of the body part is also corrected to coincide with the partner. Therefore, by displaying such a front image on the other party's display, it is possible to further enhance the sense of presence during the conversation.
- the front image is generated from the image data of the user's non-front using a learning model, a special device such as an RGB-D camera is not required.
- generation of a front image using the learning model is possible if there is image data of the user's non-front. Therefore, a front image (line-of-sight matching image) can be generated for any user. That is, no user is selected.
- a learning model can be constructed by machine learning of changes in the person image between the non-front and the front from the person image including the face area of the person imaged from the front.
- front image data can be generated more effectively from the user's non-front image data. For example, even when the installation position of the camera 70 is changed when the video conference system 10 is used, more accurate front image data can be generated from the user's non-front image data using a learning model.
- it is not necessary to measure the angle difference between the display orientation and the camera orientation in advance such labor can be saved.
- the communication terminal according to the present embodiment is different from the first embodiment in the method of generating front image data based on non-front image data.
- communication terminal 300 includes a control unit 310 instead of control unit 110 (see FIG. 3).
- the control unit 310 includes an image processing unit 320 and a sound processing unit 210 as functional units.
- the image processing unit 320 includes an image generation unit 322, and the image generation unit 322 includes a parts placement unit 324.
- Communication terminal 300 further includes a storage device 340 instead of storage device 120 (see FIG. 3).
- the storage device 340 includes a learning model storage unit 342.
- the image generation unit 322 uses a learning model stored in the learning model storage unit 342 and a facial part extraction function for extracting a facial part (face part image) constituting the user's face from the non-frontal image of the user.
- Conversion function for converting each extracted facial part to each facial part of the front image, and front image generation for generating front image data of the user using the converted front face part Has function.
- the front image generation function generates the user's front image data by replacing each face part with each face part of the front image in the non-front image and then adjusting the arrangement based on a predetermined arrangement criterion. Has function.
- the placement of each face part in the front image is performed by the parts placement unit 324.
- the extracted facial part images include, for example, a left eye image 350, a right eye image 352, a nose image 354, a mouth image 356, and a face outline image 358.
- the learning model used in the present embodiment includes a face part learning model 344 obtained by machine learning of a change in each face part of a person image between a non-front and a front.
- the learning model is constructed by extracting facial parts from a non-frontal image and a frontal image of a person and using the extracted facial parts as training data so that the learning model generation unit 220a performs machine learning for each facial part.
- Other configurations are the same as those of the first embodiment.
- step S1100 for initializing model parameters
- step S1100 for extracting each facial part from each image of the input training data
- step S1110 for extracting each facial part from each image of the input training data
- step S1110 for extracting each facial part from each image of the input training data
- step S1110 for extracting each facial part from each image of the input training data
- Step S1110 Steps S1130 to S1150 to be described are executed after step S1120 and step S1120, in which machine learning is repeated until the difference between the accuracy of the learning model in the previous iteration and the current iteration is equal to or less than a predetermined value, and constructed by machine learning Storing the learned learning model.
- step S1160 the process of repeating machine learning until the difference in the accuracy of the learning model is equal to or less than a predetermined value is performed by using each part image extracted from the front image as teacher data, and changing each face part in the non-front image and the front image.
- Step S1130 for learning and step S1130 are executed after step S1130, and test data is input to each model obtained by learning to test each model, and step S1140 is executed after step S1140.
- Step S1150 is performed in which accuracy is calculated by comparing the obtained data with the front image data of the test data, and compared with the accuracy of the previous iteration.
- machine learning is performed based on the input training data on how to correct each face part of the non-front image to obtain each face part of the front image.
- the constructed learning model is stored in the storage device 340 of the communication terminal 300, whereby a learning model storage unit 342 is formed.
- a program shown in FIG. 17 is executed instead of the program shown in FIG.
- the program in FIG. 17 includes step S3000 instead of step S2100 in FIG.
- the processing in step S2000, step S2200, and step S2300 in FIG. 17 is the same as the processing in each step shown in FIG.
- FIG. 18 is a detailed flow of step S3000 of FIG.
- step S3010 in which user image data (non-frontal image data) including a face area output from camera 70 (see FIG. 13) is input to image generation unit 322, Step S3020 that is executed after S3010 and extracts a facial part from the input image data, and a face part learning model 344 that is executed after step S3020 and stored in the learning model storage unit 342 (see FIG. 15),
- Each face part of the non-front input image data is converted to each face part of the front image data.
- Steps S3030 and S3030 are executed, and the front image data of the user is generated using the converted face parts.
- step S3040 In parallel with step S3040 and the input of the non-front image data, the microphone 82 (see FIG. 13) The audio data is input to the audio processing unit 210. After step S3050, step S3040, and step S3050, the front image data and the audio data are compressed, and then the other data is transmitted via the communication IF 150 (see FIG. 13). Step S3060 for transmitting the compressed data to the communication terminal. When the process of step S3060 ends, this routine ends.
- step S3040 in the input non-front image, the process of replacing each face part image with each converted face part image, and each converted face part image are arranged based on a predetermined arrangement standard. Processing for adjusting is executed. The placement of each face part image after conversion is performed by the parts placement unit 324 based on, for example, the following placement criteria.
- the parts placement unit 324 includes an intersection (reference point C1) of a line segment L1 connecting both ears and a face center line M1 in the input non-front image, The tip point (reference point D1) is obtained, and the length P1 from the reference point C1 to the reference point D1 and the face width H1 are calculated. The part placement unit 324 further calculates the distance (position) of each face part with respect to the reference point C1.
- the parts placement unit 324 in the contour image after conversion, includes the intersection (reference point C2) between the line segment L2 connecting both ears and the face center line M2, and the tip of the chin. A point (reference point D2) is obtained, and a length P2 from the reference point C2 to the reference point D2 and a face width H2 are calculated. In the input non-front image, the parts placement unit 324 replaces the contour image before conversion with the contour image after conversion so that the reference point C1 and the reference point C2 match, for example.
- the parts placement unit 324 further determines the position (position relative to the reference point C2) where each face part after the transformation is placed based on the ratio between the length P1 and the length P2 and the ratio between the width H1 and the width H2. The remaining face parts are replaced so that the converted face parts are arranged at the calculated positions.
- the learning model is a facial part learning that learns the change of each facial part that makes up the face of the person image between the front and the front from the person image including the face area of the person imaged from the front and the front.
- Model 344 is included.
- the image generation unit 322 extracts a face part (face part image) constituting the user's face from the input non-front image of the user, and uses the face part learning model 344 to extract the extracted face parts to the user. Convert each face part in front.
- the image generation unit 322 further generates image data of the user's front using the converted front face part.
- the front image data is generated by converting a part of the image (face part) instead of the entire image, so that the generation time of the front image data can be shortened.
- the communication terminal according to the present embodiment differs from the first and second embodiments in the method of generating front image data based on non-front image data.
- communication terminal 400 includes a control unit 410 instead of control unit 110 (see FIG. 3) or control unit 310 (see FIG. 13).
- the control unit 410 includes an image processing unit 420 and a sound processing unit 210 as functional units.
- the image processing unit 420 includes an image generation unit 422, and the image generation unit 422 includes a selection unit 424.
- Communication terminal 400 further includes a storage device 440 instead of storage device 120 (see FIG. 3) or storage device 340 (see FIG. 13).
- the storage device 440 includes a learning model storage unit 442 and a classifier storage unit 444.
- the classifier storage unit 444 stores a classifier for selecting a classification learning model, which will be described later, used to generate front image data based on the non-front image of the user captured by the camera 70.
- the learning model stored in learning model storage unit 442 includes a plurality of classification learning models 448 (448_1 to 448_N) classified for each group.
- the classification learning model 448 is constructed by machine learning using training data grouped in advance.
- the classifier is stored in the classifier storage unit 444 so as to be usable by the selection unit 424.
- An algorithm such as a support vector machine (SVM) can be used for the classifier.
- SVM support vector machine
- the learning model used in the present embodiment is classified for each group, and from a human image including a human face area captured from each of the non-front and the front,
- the classification learning model 448 obtained by causing the classification learning model generation unit 220b to machine-learn changes in human images for each group is included.
- the training data dataset stored in the training data storage unit 450 is classified into a predetermined number (N) of groups by the clustering 452.
- the data sets are classified so that those having similar facial features belong to the same group.
- a k-means method, a hierarchical method, or the like can be used for the clustering 452.
- the classifier 452 is trained by the classified data set, and the learned classifier is stored in the classifier storage unit 444. When a camera image is input, the classifier selects a group to which the input image belongs.
- the training data can be classified manually. Other configurations are the same as those of the first embodiment.
- Step S1200 for acquiring a training data set consisting of a pair of a front image and a non-frontal image of a person, and a predetermined number of training data (data sets) acquired after step S1200.
- Step S1210 for classifying into groups, and Step S1220 executed after Step S1210 and repeating Steps S1020 to S1040 described below until learning models are constructed in all the classified groups.
- step S1220 The processing that is repeated until learning models are constructed in all the classified groups in step S1220 is executed after step S1230 for initializing model parameters and step S1230, and steps S1250 to S1270 described below.
- Step S1240 that repeats machine learning until the accuracy difference between the learning model in the previous iteration and the current iteration is equal to or less than a predetermined value, and a step that is executed after Step S1240 and stores the learning model constructed by machine learning S1280.
- step S1240 the process of repeating machine learning until the difference in accuracy of the learning model is equal to or less than a predetermined value is performed by inputting a training data dataset including a pair of a front image and a non-front image of a person.
- Step S1250 for learning the change of the person image in the non-front image and the front image Step S1260 that is executed after Step S1250 and that inputs the test data to the model obtained by learning and tests the model
- Step S1270 is executed after S1260, and the accuracy calculation is performed by comparing the data obtained by inputting the test data with the front image data of the test data, and comparing with the accuracy at the previous iteration.
- the constructed learning model (classification learning model 448) is stored in the storage device 440 of the communication terminal 400, whereby a learning model storage unit 442 is formed.
- a program shown in FIG. 23 is executed instead of the program shown in FIG.
- the program in FIG. 23 includes step S4000 instead of step S2100 in FIG.
- the processing in step S2000, step S2200, and step S2300 in FIG. 23 is the same as the processing in each step shown in FIG.
- FIG. 24 is a detailed flow of step S4000 in FIG.
- step S4010 in which image data (non-frontal image data) of a user including a face area output from camera 70 (see FIG. 20) is input to image generation unit 422,
- Step S4020 is executed after S4010, and the classification learning model 448 used for generation of the front image data is selected by the matching process using the discriminator.
- the classification learning model 448 is executed after the step S4020 and selected after the step S4020.
- step S4050 transmitting the data after the compression processing with other communication terminals.
- the video conference system operates as follows.
- the operations other than the front image data generation operation are the same as those in the first embodiment. Therefore, detailed description of similar operations will not be repeated.
- non-frontal image data of the user captured by camera 70 is input to image processing unit 420 (image generation unit 422) of communication terminal 400 (step S4010 in FIG. 24).
- the selection unit 424 uses the classifier to select the classification learning model 448 used for generating the front image data (step S4020 in FIG. 24).
- the image generation unit 422 generates and outputs front image data of the user based on the input non-front image data using the selected classification learning model 448 (step S4030).
- the image generation unit 422 includes a selection function for selecting a group to which the person image indicated by the non-front image data belongs from the classified groups based on the user's non-front image, and the selection function.
- the image acquisition function uses the classification learning model 448 of the group selected by the function, the image acquisition function has a function for generating front image data of the user based on the non-front image data of the user acquired.
- the learning model is classified for each group, and the learning model for learning the change of the person image between the non-front and the front for each group from the person image including the face area of the person captured from each of the non-front and the front 448 included.
- the image generation unit 422 selects a group to which a person image similar to the non-front image belongs from among the classified groups based on the input non-front image of the user, and the classification learning model of the selected group 448 is used to generate a front image of the user based on the non-front image of the user.
- a learning model learned using an image having a high degree of similarity can be used, and therefore, more accurate front image data can be easily generated.
- the communication terminal on the image data transmission side transmits the user's non-front image data captured by the camera and receives the non-front image data.
- the front image data is generated based on the non-front image data received.
- communication terminal 500 includes a control unit 510 instead of control unit 110 (see FIG. 3).
- the control unit 510 includes an image processing unit 520 and a sound processing unit 210 as functional units.
- the image processing unit 520 includes an image generation unit 522.
- the image processing unit 520 has an image acquisition function for acquiring non-front image data of a user who operates (uses) another communication terminal via the network 50.
- the image generation unit 522 uses the learning model stored in the learning model storage unit 122, based on the non-front image data of the user of the other communication terminal acquired by the image acquisition function.
- the control unit 510 further has a display function for controlling the communication IF 150 to display the front image data generated by the generation function on the display 60.
- FIG. 27 is a detailed flow of step S5000 of FIG.
- this routine includes steps S5010 for inputting video data (non-front image data and audio data) acquired via camera 70 (see FIG. 25) and microphone 82 (see FIG. 25), and step S5010.
- Step S5020 is executed after S5010, and after the video data is compressed, the compressed data is transmitted to another communication terminal via the communication IF 150 (see FIG. 25).
- this routine ends.
- step S5010 the user's non-frontal image data including the face area output from the camera 70 and the user's voice data output from the microphone 82 are acquired.
- FIG. 28 is a detailed flow of step S6000 in FIG. Referring to FIG. 28, this routine acquires video data (non-front image data and audio data) transmitted from another communication terminal via network 50, and decompresses the acquired video data in step S6010. , Executed after step S6010, and the received non-front image data (non-front image data after decompression processing) is input to the image generation unit 522, and executed after step S6020 and stored in the learning model storage unit 122.
- Step S6030 for converting the non-front input image data to the front image data using the learning model that is performed, Step S6040 that is executed after Step S6030, and displays the converted front image data on the display 60, Step Executed after S6010 and synchronized with display on the display 60 Te, and a step S6050 to output audio data acquired from the speaker 84 (see FIG. 25).
- this routine is finished.
- the generation function generates image data of the front of the user based on the non-front image data of the user acquired by the image acquisition function using the learning model.
- the display function causes the display 60 to display the front image indicated by the front image data generated by the generation function. Since the front image of the user who operates (uses) another communication terminal is displayed on the display 60, the line of sight of the face image shown on the display 60 matches the line of sight of the user who is talking while looking at the display 60.
- the front image is a line-of-sight image that matches not only the line of sight but also the face direction with the partner. In addition, the position of the body part is also corrected to coincide with the partner.
- a sense of reality can be further enhanced. Furthermore, since the front image is generated from the image data of the user's non-front using a learning model, a special device such as an RGB-D camera is not required. In addition, generation of a front image using the learning model is possible if there is image data of the user's non-front. Therefore, a front image (line-of-sight matching image) can be generated for any user. That is, no user is selected.
- video conference system 20 replaces first communication terminal 100A and second communication terminal 100B (see FIG. 1) with first communication terminal 600A and second communication terminal 100B.
- the first communication terminal 600A and the second communication terminal 600B are both personal computers (PCs) as in the first embodiment, and are collectively referred to as “communication terminal 600”.
- the video conference system 20 further includes a server 700.
- the first communication terminal 600A and the second communication terminal 600B are connected to the server 700 via the network 50.
- Data transmission / reception between the first communication terminal 600 ⁇ / b> A and the second communication terminal 600 ⁇ / b> B is performed via the server 700.
- the server 700 generates front image data using the learning model based on the non-front image data received from one of the first communication terminal 600A and the second communication terminal 600B, and uses the generated front image data as the first image data. To the other of the communication terminal 600A and the second communication terminal 600B. Note that the server 700 may be configured to transmit the generated front image data to both the first communication terminal 600A and the second communication terminal 600B.
- Communication terminal 600 has the same hardware configuration as communication terminal 100 shown in FIG. ⁇ Server 700> Referring to FIG. 30, server 700 includes a control unit 710, a storage device 720, an input IF 730, an output IF 740, and a communication IF 750.
- the control unit 710 is substantially a computer, and includes a CPU 712, a GPU 714, a ROM 716, and a RAM 718.
- the CPU 712 controls the entire server 700.
- the GPU 714 executes image calculation processing.
- the ROM 716 is a nonvolatile storage device.
- the ROM 716 stores a program and data for the CPU 712 to control the server 700.
- the RAM 718 is a volatile storage device.
- the storage device 720 is a non-volatile storage device, for example, a hard disk driver (HDD) or a flash memory.
- the storage device 720 includes a learning model storage unit 722 similar to the learning model storage unit 122 (see FIG. 3).
- the CPU 712, the GPU 714, the ROM 716, the RAM 718, the storage device 720, the input IF 730, the output IF 740, and the communication IF 750 are all connected to the bus 760, and data exchange between them is performed via the bus 760.
- the input IF 730 provides an interface related to a connection between a mouse and a keyboard (both not shown).
- the output IF 740 provides an interface for connection with a display (not shown).
- the communication IF 750 provides connection to the network 50 by wire or wireless (wired in the present embodiment).
- the bus 760, the GPU 714, the ROM 716, the RAM 718, the storage device 720, the input IF 730, the output IF 740, and the communication IF 750 all operate in cooperation under the control of the CPU 712, and the server 700 is various as a server according to the present embodiment.
- the processing by the application is realized. These applications realize, for example, a server in a video conference system that generates and displays a gaze-matched image with a higher sense of presence without selecting a user and using a special device such as an RGB-D camera. To do.
- this program is executed after step S7000 for receiving video data transmitted from communication terminal 600 and after step S7000, and the non-front image data included in the received video data is converted to front image data.
- Step S7100 including converting and transmitting the video data including the front image data to the other communication terminal 600 and returning the control to Step S7000.
- FIG. 32 is a detailed flow of step S7100 of FIG. Referring to FIG. 32, this routine uses step S7110 for inputting non-frontal image data included in received video data, and a learning model that is executed after step S7110 and stored in learning model storage unit 722. Step S7120 for converting the non-front input image data into the front image data, and the video data including the converted front image data and the received audio data are transmitted to the other communication terminal 600 and executed after Step S7120. Step S7130 which ends this routine is included.
- the video conference system 20 operates as follows.
- the operations other than the front image data generation operation are the same as those in the first embodiment. Therefore, detailed description of similar operations will not be repeated.
- first communication terminal 600 ⁇ / b> A transmits non-front image data including the face area of user A captured by camera 70 to server 700.
- the server 700 uses the learning model stored in the learning model storage unit 722 (see FIG. 30) and based on the received non-frontal image data.
- the user A's front image data is generated.
- the server 700 transmits the generated front image data to the second communication terminal 600B.
- the second communication terminal 600B displays the front image of the user A indicated by the front image data on the second display 60b.
- the second communication terminal 600 ⁇ / b> B transmits non-front image data including the face area of the user B captured by the camera 70 to the server 700.
- the server 700 uses the learning model stored in the learning model storage unit 722 (see FIG. 30) based on the received non-frontal image data.
- the user B's front image data is generated.
- the server 700 transmits the generated front image data to the first communication terminal 600A.
- the first communication terminal 600A displays the front image of the user B indicated by the front image data on the first display 60a.
- the video conference system 20 includes the server 700 that generates front image data based on the non-front image data transmitted from the communication terminal 600 as described above. Even with such a configuration, it is possible to realize line-of-sight matching with a high sense of realism without selecting a user and without using special equipment such as an RGB-D camera.
- the present invention is not limited to such an embodiment.
- the present invention can also be applied to a system for performing remote communication or visual communication other than a conference.
- the conference system may be either a Web conference system or a video conference system.
- a PC is used as a communication terminal.
- the present invention is not limited to such an embodiment.
- a smartphone or a tablet terminal may be used as the communication terminal.
- a dedicated terminal other than the PC may be used as the communication terminal.
- a communication terminal holds a learning model
- the server on the network may be configured to hold the learning model.
- the learning model may be configured to be updated at a predetermined timing.
- a communication terminal holds a database (image storage unit) and a classifier (classifier storage unit) of non-front images in addition to a learning model (learning model storage unit)
- the server on the network may be configured to hold any or all of the learning model, the database, and the classifier.
- the example of using the generation method shown in the first embodiment is shown as the generation method of the front image data based on the non-front image data. It is not limited to such an embodiment.
- a method for generating the front image data based on the non-front image data the method described in the second embodiment or the third embodiment may be used.
- the server generates front image data using the learning model based on the non-front image data received from any of the communication terminals, and the generated front image data is transmitted to the communication terminal that has transmitted the non-front image data. Send to other communication terminals.
- the server may be further configured to transmit the generated front image data to the communication terminal that has transmitted the non-front image data. That is, you may make it transmit the front image data which the server produced
- the display connected to each communication terminal may display an image of the user who uses the communication terminal in addition to the image of the conversation partner. Further, for example, it may be determined whether or not the user is gazing at the display, and the front image data may be generated based on the non-front image data in response to a positive determination result.
- Video conferencing system 50 Network 60, 60a, 60b Display 70, 70a, 70b Camera 80, 80a, 80b Microphone speaker 82, 82a, 82b Microphone 84, 84a, 84b Speaker 100, 100A, 100B, 300-600 Communication terminal 110, 310, 410, 510, 710 Control unit 120, 340, 440, 720 Storage device 122, 342, 442, 722 Learning model storage unit 130, 730 Input IF 140, 740 output IF 150, 750 Communication IF 200, 320, 420, 520 Image processing unit 202, 322, 422, 522 Image generation unit 324 Part placement unit 344 Face part learning model 210 Audio processing unit 220, 220a Learning model generation unit 220b Classification learning model generation unit 424 selection unit 444 Classifier storage unit 450 Training data storage unit 700 Server
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
コンピュータプログラムは、コンピュータに、ユーザの非正面の画像データを取得するための画像取得機能、及び、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成機能、を実現させる。
Description
この発明はコンピュータプログラム、画像処理方法、及び通信装置に関する。本出願は、2018年3月1日出願の日本出願第2018-036137号に基づく優先権を主張し、前記日本出願に記載された全ての内容を援用するものである。
複数の遠隔地を結んで双方向の画像及び音声により会議を行なうためのビデオ会議システムが知られている。ビデオ会議システムでは、会議のメンバーはディスプレイに表示された相手を見ながら話をする。会議のメンバーはカメラによって撮影され、その映像は相手側のディスプレイに表示される。カメラの設置位置はメンバーが注視するディスプレイ正面とは異なるため、ディスプレイに映る顔画像の視線がそのディスプレイを見ながら話をする相手の視線とずれる視線不一致が生じる。
後掲の特許文献1及び2には、ビデオ会議システムにおいて、視線を一致させるための技術が提案されている。
特許文献1では、予め学習された識別器に基づいてカメラ入力画像が表す対話者が対話相手を注視しているか否かを判定する。注視していると判定されると、カメラ入力画像が表す対話者の目領域にカメラを注視したときの画像が合成される。合成される画像は、対話者毎に予め撮影されて注視画像としてシステムに記憶されている。これにより、視線一致画像が生成される。
特許文献2では、カメラ画像(RGBカラー画像)とともにその奥行データを出力可能なRGB-Dカメラが用いられる。このカメラで会議のメンバーを撮影することにより、そのメンバーの顔領域の三次元モデルを生成する。生成された三次元モデルは、ディスプレイの向きとカメラの向きとの角度差(既知)に応じて回転される。得られた回転画像でカメラ画像の顔領域を置換することにより視線一致画像が生成される。
本開示の一態様に係るコンピュータプログラムは、コンピュータに、ユーザの非正面の画像データを取得するための画像取得機能、及び、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成機能、を実現させる。
また、本開示の一の態様に係る画像処理方法は、ユーザの非正面の画像データを取得するステップと、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、取得された前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するステップと、を有する。
また、本開示の一の態様に係る通信装置は、ユーザの非正面の画像データを取得するための画像取得部と、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得部が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成部と、を備える。
本開示は、このような特徴的な処理部を備える通信装置、かかる特徴的な処理をステップとする画像処理方法、及びかかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現することができるだけでなく、通信装置の一部又は全部を実現する半導体集積回路として実現することができる。
<本開示が解決しようとする課題>
特許文献1に開示の技術では、対話者の目領域のみがカメラを注視したときの画像に置換される。視線は一致するものの、対話者の顔の向きは対話相手と一致しないため、その分、臨場感が不足するという問題がある。加えて、注視画像が記憶されていない対話者に対しては、視線一致画像を生成できないという問題もある。
特許文献2に開示の技術では、顔領域の三次元モデルを回転させるため、顔の向きを相手と一致させることができる。しかし、そのためには、RGB-Dカメラが必要になる。すなわち、特許文献2では、利用時に特別な機器が必要になるという問題がある。
本開示は、ユーザ(対話者)を選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感の高い視線一致を実現するためのコンピュータプログラム、画像処理方法、及び通信装置を提供することを目的とする。
<本開示の効果>
本開示によれば、ユーザを選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感の高い視線一致を実現するためのコンピュータプログラムを得ることができる。
本開示によれば、ユーザを選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感の高い視線一致を実現するためのコンピュータプログラムを得ることができる。
<本発明の実施形態の概要>
以下、本発明の実施形態の概要を列記して説明する。
(1) 本実施形態に係るコンピュータプログラムは、コンピュータに、ユーザの非正面の画像データを取得するための画像取得機能、及び、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成機能、を実現させる。
以下、本発明の実施形態の概要を列記して説明する。
(1) 本実施形態に係るコンピュータプログラムは、コンピュータに、ユーザの非正面の画像データを取得するための画像取得機能、及び、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成機能、を実現させる。
生成機能は、上記学習モデルを用いて、画像取得機能が取得したユーザの非正面の画像データに基づいて当該ユーザの正面の画像データを生成する。これにより、ユーザを選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感の高い視線一致画像を生成できる。
(2) また、本実施形態に係るコンピュータプログラムにおいて、前記画像取得機能は、ユーザの顔領域を含む非正面の画像を撮像するための撮像装置を介して、前記コンピュータを操作するユーザの非正面の画像データを取得するための機能を含み、前記コンピュータプログラムは、前記コンピュータに、前記生成機能により生成された前記正面の画像データを、他のコンピュータに送信するための送信機能をさらに実現させてもよい。
生成機能により生成された正面の画像データは、送信機能によって他のコンピュータに送信される。相手側のディスプレイ(表示装置)には上記ユーザの正面画像が表示されるので、ディスプレイに映る顔画像の視線とそのディスプレイを見ながら話をする相手の視線とが一致する。正面画像は、視線のみならず、顔の向きも相手と一致する視線一致画像である。そのため、こうした正面画像を相手側のディスプレイに表示することによって臨場感をより高めることができる。上述のように、正面画像は、ユーザの非正面の画像データから学習モデルを用いて生成されるので、RGB-Dカメラのような特別な機器も不要となる。加えて、上記学習モデルを用いた正面画像の生成は、ユーザの非正面の画像データがあれば可能である。そのため、どのようなユーザに対しても正面画像(視線一致画像)を容易に生成できる。すなわち、ユーザを選ばない。
(3) また、本実施形態に係るコンピュータプログラムにおいて、前記画像取得機能は、ネットワークを介して、他のコンピュータを操作するユーザの顔領域を含む非正面の画像データを取得するための機能を含み、前記コンピュータプログラムは、前記コンピュータに、前記生成機能により生成された前記正面の画像データが示す正面画像を表示装置に表示させるための表示機能をさらに実現させてもよい。
生成機能により生成された正面の画像データは、表示機能によって表示装置(ディスプレイ)に表示される。ディスプレイには他のコンピュータを操作するユーザの正面画像が表示されるので、ディスプレイに映る顔画像の視線とそのディスプレイを見ながら話をするユーザの視線とが一致する。正面画像は、視線のみならず、顔の向きも相手と一致する視線一致画像である。そのため、こうした正面画像をディスプレイに表示することによって臨場感をより高めることができる。上述のように、正面画像は、ネットワークを介して取得した非正面の画像データから学習モデルを用いて生成されるので、非正面の画像データを受信する側だけでなく送信する側も、RGB-Dカメラのような特別な機器が不要となる。加えて、上記学習モデルを用いた正面画像の生成は、ユーザの非正面の画像データがあれば可能である。そのため、どのようなユーザに対しても正面画像(視線一致画像)を容易に生成できる。すなわち、ユーザを選ばない。
(4) また、本実施形態に係るコンピュータプログラムにおいて、前記学習モデルは、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける、前記人物画像の顔を構成する各顔パーツの変化を学習させた顔パーツ学習モデルを含み、前記生成機能は、前記画像取得機能が取得した前記ユーザの前記非正面の画像データから顔パーツを抽出するための顔パーツ抽出機能と、前記顔パーツ学習モデルを用いて、前記顔パーツ抽出機能が抽出した顔パーツを前記ユーザの正面の顔パーツに変換するための変換機能と、前記変換機能が変換した正面の顔パーツを用いて当該ユーザの正面の画像データを生成するための正面画像生成機能とを含んでもよい。これにより、正面の画像データの生成時間を短縮できる。
(5) また、本実施形態に係るコンピュータプログラムにおいて、前記学習モデルは、グループ毎に分類され、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化をグループ毎に学習させた分類学習モデルを含み、前記生成機能は、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて、前記分類されたグループの中から前記非正面の画像データが示す人物画像が属するグループを選択するための選択機能と、前記選択機能が選択したグループの前記分類学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための機能とを含んでもよい。これにより、正面の画像データの生成精度を高めることができる。
(6) また、本実施形態に係るコンピュータプログラムにおいて、前記学習モデルは、方向が互いに異なる複数の非正面から撮像された人物の顔領域を含む人物画像と、正面から撮像された当該人物の顔領域を含む人物画像とから、非正面と正面とにおける前記人物画像の変化を学習させており、前記生成機能は、前記学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成してもよい。これにより、より効果的に、正面の画像データを生成できる。例えば、撮像装置の設置位置を変えた場合でも、ユーザの非正面の画像データから学習モデルを用いて正面の画像データを生成できる。
(7) 本実施形態に係る画像処理方法は、ユーザの非正面の画像データを取得するステップと、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、取得された前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するステップと、を有する。
生成するステップでは、上記学習モデルを用いて、画像データを取得するステップにおいて取得されたユーザの非正面の画像データに基づいて当該ユーザの正面の画像データが生成される。これにより、ユーザを選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感の高い視線一致画像を生成できる。
(8) 本実施形態に係る通信装置は、ユーザの非正面の画像データを取得するための画像取得部と、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得部が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成部と、を備える。
生成部は、上記学習モデルを用いて、画像取得部が取得したユーザの非正面の画像データに基づいて当該ユーザの正面の画像データを生成する。これにより、ユーザを選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感の高い視線一致画像を生成できる。
<本発明の実施形態の詳細>
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
以下、図面を参照して、本発明の実施形態の詳細を説明する。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
以下の実施の形態では、同一の部品には同一の参照番号を付してある。それらの機能及び名称も同一である。従って、それらについての詳細な説明は繰返さない。以下では、遠隔コミュニケーションシステムの一種であるビデオ会議システムに本発明を適用した例について説明する。
(第1の実施の形態)
[全体構成]
図1を参照して、本実施の形態に係るビデオ会議システム10は、第1の通信端末100A及び第2の通信端末100Bを含む。第1の通信端末100A及び第2の通信端末100Bはいずれもパーソナルコンピュータ(Personal Computer:PC)であり、総称する場合は「通信端末100」と記す。第1の通信端末100Aと第2の通信端末100Bとは、ネットワーク50を介して、互いに通信可能に接続されている。本実施の形態では、第1の通信端末100Aは会議のメンバーであるユーザAが使用するものとし、第2の通信端末100Bは同じ会議のメンバーであるユーザBが使用するものとする。なお、通信端末100の台数は2台に限定されず、3台以上であってもよい。
(第1の実施の形態)
[全体構成]
図1を参照して、本実施の形態に係るビデオ会議システム10は、第1の通信端末100A及び第2の通信端末100Bを含む。第1の通信端末100A及び第2の通信端末100Bはいずれもパーソナルコンピュータ(Personal Computer:PC)であり、総称する場合は「通信端末100」と記す。第1の通信端末100Aと第2の通信端末100Bとは、ネットワーク50を介して、互いに通信可能に接続されている。本実施の形態では、第1の通信端末100Aは会議のメンバーであるユーザAが使用するものとし、第2の通信端末100Bは同じ会議のメンバーであるユーザBが使用するものとする。なお、通信端末100の台数は2台に限定されず、3台以上であってもよい。
ビデオ会議システム10はさらに、通信端末100に接続される、ディスプレイ60、カメラ70、及びマイクスピーカ80を含む。ディスプレイ60は第1のディスプレイ60a及び第2のディスプレイ60bを含み、カメラ70は第1のカメラ70a及び第2のカメラ70bを含み、マイクスピーカ80は第1のマイクスピーカ80a及び第2のマイクスピーカ80bを含む。
第1の通信端末100Aには、第1のディスプレイ60a、第1のカメラ70a、及び第1のマイクスピーカ80aが接続される。第1のディスプレイ60aは、例えば液晶ディスプレイ等の表示装置であり、相手メンバー(ユーザB)の画像を表示する。第1のカメラ70aは、第1の通信端末100Aを使用するユーザAを撮像するための撮像装置である。第1のカメラ70aには、例えば、静止画像及び動画像を撮影可能なWebカメラを用いることができる。第1のマイクスピーカ80aは、マイク82a及びスピーカ84aを含む。第1のマイクスピーカ80aは、ハウジングによってマイク82a及びスピーカ84aが一体化されている。
同様に、第2の通信端末100Bには、第2のディスプレイ60b、第2のカメラ70b、及び第2のマイクスピーカ80bが接続されている。第2のディスプレイ60bは、例えば液晶ディスプレイ等の表示装置であり、相手メンバー(ユーザA)の画像を表示する。第2のカメラ70bは、第2の通信端末100Bを使用するユーザBを撮像するための撮像装置である。第2のカメラ70bには、例えば、静止画像及び動画像を撮影可能なWebカメラを用いることができる。第2のマイクスピーカ80bは、マイク82b及びスピーカ84bを含む。第2のマイクスピーカ80bは、ハウジングによってマイク82b及びスピーカ84bが一体化されている。
なお、マイクスピーカ80に代えて、マイクとスピーカとが別々に第1の通信端末100A及び第2の通信端末100Bに接続される構成であってもよい。マイクはカメラ70に内蔵されるタイプであってもよい。スピーカもディスプレイ60に内蔵されるタイプであってもよい。また、マイク82a及び82b、並びにスピーカ84a及び84bは、総称する場合は、それぞれ、マイク82及びスピーカ84と記す。
第1の通信端末100Aは、第1のカメラ70aによってユーザAの顔領域を含む画像を撮像し、第1のマイクスピーカ80a(マイク82a)によってユーザAの音声を取得する。第1の通信端末100Aは、ユーザAの画像及び音声を、ネットワーク50を介して他の通信端末(ここでは、第2の通信端末100B)に送信する。第2の通信端末100Bは、第1の通信端末100Aから送信されたユーザAの画像を第2のディスプレイ60bに表示し、これに同期して、ユーザAの音声を第2のマイクスピーカ80b(スピーカ84b)から出力する。
同様に、第2の通信端末100Bは、第2のカメラ70bによってユーザBの顔領域を含む画像を撮像し、第2のマイクスピーカ80b(マイク82b)によってユーザBの音声を取得する。第2の通信端末100Bは、ユーザBの画像及び音声を、ネットワーク50を介して他の通信端末(ここでは、第1の通信端末100A)に送信する。第1の通信端末100Aは、第2の通信端末100Bから送信されたユーザBの画像を第1のディスプレイ60aに表示し、これに同期して、ユーザBの音声を第1のマイクスピーカ80a(スピーカ84a)から出力する。
ビデオ会議システム10の利用時に、第1のカメラ70aによって撮像されるユーザAの画像、及び第2のカメラ70bによって撮像されるユーザBの画像は、いずれも、非正面画像となる。
より詳細に説明すると、ユーザがディスプレイ60を注視している状態では、当該ユーザの正面にはディスプレイ60の画面が位置することになる。通常、カメラ70はディスプレイ60のフレーム部分に設置される。すなわち、カメラ70の設置位置はユーザが注視するディスプレイ正面とは異なる。そのため、カメラ70によるユーザの撮像は斜め方向からの撮像となる。よって、得られる画像はユーザの非正面画像となる。
第1の通信端末100Aは、ユーザAの非正面画像に基づいて、後述する学習モデルを用いて、ユーザAの正面画像を生成し、生成した正面画像を第2の通信端末100Bに送信する。第2の通信端末100Bも同様に、ユーザBの非正面画像に基づいて、後述する学習モデルを用いて、ユーザBの正面画像を生成し、生成した正面画像を第1の通信端末100Aに送信する。
ここで、ディスプレイに対して「正面」とは、ユーザの顔の向きがディスプレイの法線に沿った方向から所定の境界角度以下の範囲内にあることをいい、「非正面」とは、ユーザの顔の向きがディスプレイの法線に沿った方向から所定の境界角度より大きい範囲内にあることをいう。境界角度は、水平方向の角度と垂直方向の角度とを含む。この境界角度は、例えば0度以上45度以下とすることができる。より好ましい境界角度は0度以上30度以下であり、さらに好ましい境界角度は0度以上15度以下である。上記した「正面画像」とは、正面方向から見たユーザの画像を意味し、「非正面画像」とはそれ以外の方向(非正面方向)から見た当該ユーザの画像を意味する。具体的には、例えば、ディスプレイ60の対話相手が表示される部分をユーザが注視している状態において、当該対話相手が表示される部分から見たユーザの画像が「正面画像」となり、そのときにカメラ70によって撮像される画像が「非正面画像」となる。
ユーザA側の第1のディスプレイ60aにはユーザBの正面画像が表示され、ユーザB側の第2のディスプレイ60bにはユーザAの正面画像が表示される。したがって、第1のディスプレイ60aに映るユーザBの視線とその第1のディスプレイ60aを見ながら話をするユーザAの視線とが一致する。同様に、第2のディスプレイ60bに映るユーザAの視線とその第2のディスプレイ60bを見ながら話をするユーザBの視線とが一致する。
[ハードウェア構成]
《通信端末100》
図2を参照して、通信端末100は、制御部110、記憶装置120、入力インターフェイス(以下「インターフェイス」を「IF」と記す。)130、出力IF140、及び通信IF150を含む。
《通信端末100》
図2を参照して、通信端末100は、制御部110、記憶装置120、入力インターフェイス(以下「インターフェイス」を「IF」と記す。)130、出力IF140、及び通信IF150を含む。
制御部110は、実質的にコンピュータであって、CPU(Central Processing Unit)112、GPU(Graphics Processing Unit)114、ROM(Read-Only Memory)116、及び、RAM(Random Access Memory)118を含む。CPU112は通信端末100全体を制御する。GPU114は、画像の演算処理を実行する。ROM116は不揮発性の記憶装置である。ROM116にはCPU112が通信端末100を制御するためのプログラム及びデータが記憶されている。RAM118は揮発性の記憶装置である。記憶装置120は不揮発性の記憶装置であり、例えばハードディスクドライバ(HDD)又はフラッシュメモリである。
CPU112、GPU114、ROM116、RAM118、記憶装置120、入力IF130、出力IF140、及び通信IF150はいずれもバス160に接続されており、相互間のデータ交換はバス160を介して行なわれる。
入力IF130は、カメラ70及びマイク82との間の接続に関するインターフェイスを提供する。入力IF130はさらに、マウス及びキーボード(以上、いずれも図示せず。)との間の接続に関するインターフェイスを提供する。出力IF140は、ディスプレイ60及びスピーカ84との間の接続に関するインターフェイスを提供する。通信IF150は、有線又は無線(本実施の形態においては有線)によりネットワーク50への接続を提供する。
バス160、GPU114、ROM116、RAM118、記憶装置120、入力IF130、出力IF140及び通信IF150は、いずれもCPU112の制御のもとに協調して動作し、本実施の形態に係る通信端末として通信端末100は種々のアプリケーション(コンピュータプログラム)による処理を実現する。それらのアプリケーションは、例えば、ユーザを選ばず、かつ、RGB-Dカメラ(Depthカメラ)のような特別な機器を用いることなく、臨場感のより高い視線一致画像を生成して表示するビデオ会議システムにおける通信端末を実現する。
通信端末100はさらに、カメラ70で撮像したユーザの非正面画像から当該ユーザの正面画像を生成する際に用いる学習モデルを記憶装置120に記憶している。
通信端末100に、本実施の形態に係るビデオ会議システム10における通信端末としての動作を行なわせるためのコンピュータプログラムは、通信端末100に接続される光ディスクドライブ(図示せず。)に挿入される光ディスクに記憶され、さらに記憶装置120に転送される。又は、プログラムはネットワーク50を通じて通信端末100に送信され記憶装置120に記憶されてもよい。プログラムは実行の際にRAM118にロードされる。光ディスクから、又はネットワーク50を介して、直接にRAM118にプログラムをロードしてもよい。
[機能的構成]
図3を参照して、通信端末100の制御部110は、機能部としての画像処理部200及び音声処理部210を含む。画像処理部200は画像生成部202を含む。記憶装置120は、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける人物画像の変化を機械学習させた学習モデルを記憶させた学習モデル記憶部122を含む。
図3を参照して、通信端末100の制御部110は、機能部としての画像処理部200及び音声処理部210を含む。画像処理部200は画像生成部202を含む。記憶装置120は、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける人物画像の変化を機械学習させた学習モデルを記憶させた学習モデル記憶部122を含む。
画像処理部200は、カメラ70を介して、ユーザの非正面の画像データを取得するための画像取得機能を持つ。画像生成部202は、学習モデル記憶部122に記憶された学習モデルを用いて、上記画像取得機能によって取得されたユーザの非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成機能を持つ。音声処理部210は、マイク82を介してユーザの音声データを取得して所定の処理を実行する機能を持つ。制御部110はさらに、通信IF150を制御して、上記生成機能により生成された正面の画像データ及び音声処理部210が取得した音声データをネットワーク50上の他の通信端末に送信するための送信機能を持つ。
これらの機能の実現は、制御部110のCPU112が上記コンピュータプログラムにしたがって通信端末100を制御することによって達成される。
[学習モデルの構築]
本ビデオ会議システム10では、予め、機械学習によって学習モデルが構築されている。構築された学習モデルは、本ビデオ会議システム10の利用時において、ユーザの正面画像を生成する際に用いられる。本実施の形態において、学習モデルを構築するフェーズを「学習フェーズ」と呼び、ビデオ会議システム10を利用するフェーズを「利用フェーズ」と呼ぶ。
本ビデオ会議システム10では、予め、機械学習によって学習モデルが構築されている。構築された学習モデルは、本ビデオ会議システム10の利用時において、ユーザの正面画像を生成する際に用いられる。本実施の形態において、学習モデルを構築するフェーズを「学習フェーズ」と呼び、ビデオ会議システム10を利用するフェーズを「利用フェーズ」と呼ぶ。
学習モデルの構築には、ビデオ会議システム10を構成する通信端末100とは異なるコンピュータを用いることができる。無論、ビデオ会議システム10を構成する通信端末100を用いて学習モデルを構築することも可能である。
図4を参照して、学習フェーズでは、人物の顔領域を含む、当該人物の非正面及び正面の人物画像を訓練データとして用いる。学習モデルを構築するためのコンピュータは学習モデル生成部220を含む。学習モデル生成部220には、人物の非正面画像と、当該人物の正面画像とが入力される。正面画像は教師データとして用いられる。すなわち、学習モデル生成部220は、非正面と正面とにおける人物画像の変化を学習する。より具体的には、学習モデル生成部220は、入力された非正面画像に対してその正面画像がどのようになるのか(非正面画像から正面画像への変化)を機械学習する。機械学習のアルゴリズムには、例えば、ディープニューラルネットワーク(DNN)の一種である畳込みニューラルネットワーク(CNN)等を用いることができる。その他、例えばGAN(Generative Adversarial Network)等の公知のアルゴリズムを適宜用いてもよい。
図5を参照して、訓練データは、複数のカメラ170及びカメラ180で顔領域を含む人物画像を撮像することによって取得される。カメラ170は人物の非正面画像を取得し、カメラ180は当該人物の正面画像を取得する。そのため、カメラ170は人物の非正面画像を撮像可能な位置に設置され、カメラ180は当該人物の正面画像を撮像可能な位置に設置される。例えば、カメラ170は、ビデオ会議システム10の利用時にカメラ70が通常設置される場所(例えばディスプレイ190の上部等)に設置される。カメラ180は、ディスプレイ190裏側の正面位置(例えば、対話相手が表示される位置)に設置される。ディスプレイ190のカメラ180が設置される位置には穴加工が施されており、カメラ180によって、ディスプレイ190を注視する人物の正面画像を撮像可能に構成されている。カメラ170及びカメラ180による人物画像の撮像時には、対話相手の画像をディスプレイ190に表示させてもよい。これにより、利用フェーズをより考慮した訓練データが取得される。なお、複数のカメラ170及びカメラ180は、いずれも、同じ機種又は同等の機能を持つカメラを用いるのが好ましい。
ディスプレイ190に穴加工を施す代わりに、ハーフミラーを用いてもよい。図6を参照して、人物の正面にはハーフミラー194が所定の角度で傾けた状態で設置され、カメラ180はそのハーフミラー194の裏側に設置される。ハーフミラー194の下方にはディスプレイ192が配置される。カメラ180はハーフミラー194を透過した人物の正面画像を撮像する。カメラ170は、図5と同様、人物の非正面画像を撮像可能な位置に設置される。
なお、人物の非正面画像を撮像可能な位置にカメラ170が設置され、当該人物の正面画像を撮像可能な位置にカメラ180が設置されていれば、訓練データを取得することは可能である。そのため、ディスプレイ190(図5参照)に代えてダミーのディスプレイ(図示せず。)を用いてもよい。これにより、ディスプレイへの穴加工が容易となる。さらに、カメラ170及びカメラ180を支持する支持部材があれば、ディスプレイを設けない構成とすることも可能である。
図7を参照して、人物の非正面画像を撮像するためのカメラ170を複数台設置して訓練データを取得するようにすればより好ましい。例えば、ディスプレイの上端中央部にカメラ170を設置し、ディスプレイの右端部にカメラ172を設置し、ディスプレイの左端部にカメラ174を設置するようにしてもよい。これにより、ビデオ会議システム10の利用時にカメラ70(図1参照)の設置が想定される複数の位置に対応した位置で訓練データを取得できる。このような訓練データを用いて機械学習を行なうことにより、学習モデルを構築するようにしてもよい。この場合も、上述のように、ハーフミラーを用いるようにしてもよいし、ダミーのディスプレイを用いるようにしてもよい。さらに、ディスプレイを設けない構成としてもよい。
図8を参照して、訓練データのデータセット230は、正面画像と非正面画像とがペアになった複数の訓練データ230_1~230_nを含む。データセット230は、種々の人物の訓練データを含むよう構成されていると好ましい。例えば、人物の顔を構成する顔パーツ(目、鼻、口等)の相対位置が異なる、様々な顔のタイプ(丸顔、四角顔等)、又は、体形、性別、年齢等が異なる人物の人物画像を上記方法で撮像することによって訓練データを取得するようにするのが好ましい。さらに、正面画像の生成精度を向上させる観点から、訓練データはできるだけ多く収集するのが好ましい。
訓練データのデータセット230は、学習用の訓練データと、学習モデルの精度を確認するためのテスト用の訓練データとに分けられる。すなわち、データセット230の一部は、学習モデルの精度を確認するためのテストデータに用いられる。
再び図4を参照して、学習フェーズでは上記のようにして学習モデルが構築される。構築された学習モデルは、通信端末100の画像生成部202(図3参照)で利用可能に学習モデル記憶部122に記憶される。
[ソフトウェア構成]
〈学習フェーズ〉
図9を参照して、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
〈学習フェーズ〉
図9を参照して、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
このプログラムは、モデルパラメータの初期化を行なうステップS1000と、ステップS1000の後に実行され、以下に説明するステップS1020~ステップS1040を、前回の繰返しと今回の繰返しにおける学習モデルの精度の差が所定の値以下となるまで機械学習を繰返すステップS1010と、ステップS1010の後に実行され、機械学習によって構築された学習モデルを保存するステップS1050とを含む。
ステップS1010において、学習モデルの精度の差が所定の値以下となるまで機械学習を繰返す処理は、人物の正面画像及び非正面画像のペアからなる訓練データのデータセットを入力し、正面画像を教師データとして、非正面画像及び正面画像における人物画像の変化を学習するステップS1020と、ステップS1020の後に実行され、学習により得られたモデルにテストデータを入力して当該モデルをテストするステップS1030と、ステップS1030の後に実行され、テストデータを入力して得られるデータと当該テストデータの正面画像データとを比較することで精度計算を行ない、前回の精度と比較するステップS1040とを含む。
構築された学習モデルは、通信端末100の記憶装置120に記憶され、これによって、学習モデル記憶部122が形成される。
〈利用フェーズ〉
図10を参照して、ビデオ会議システム10の利用時に、ビデオ会議システム10を構成する通信端末100で実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
図10を参照して、ビデオ会議システム10の利用時に、ビデオ会議システム10を構成する通信端末100で実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
このプログラムは、他の通信端末に対して通信が接続されているか否かを判定し、通信が接続されるまで待機するステップS2000と、通信が接続されたことに応答して、映像データの送信処理を実行するステップS2100と、通信が接続されたことに応答して、映像データの受信処理を実行するステップS2200と、ステップS2100及びステップS2200の後に実行され、通信が終了したか否かを判定し、判定結果に応じて制御の流れを分岐させるステップS2300とを含む。ステップS2300において、通信が終了していないと判定された場合は、制御はステップS2100及びステップS2200に戻る。ステップS2300において、通信が終了したと判定された場合は、このプログラムは終了する。
図11は、図10のステップS2100の詳細なフローである。図11を参照して、このルーチンは、カメラ70(図3参照)から出力された、顔領域を含むユーザの画像データ(非正面画像データ)を画像生成部202に入力するステップS2110と、ステップS2110の後に実行され、学習モデル記憶部122に記憶されている学習モデルを用いて、非正面の入力画像データを正面画像データに変換するステップS2120と、非正面画像データの入力と並行して、マイク82(図3参照)が取得した音声データを音声処理部210に入力するステップS2130と、ステップS2120及びステップS2130の後に実行され、正面画像データ及び音声データを圧縮処理(エンコード)した後、通信IF150(図3参照)を介して、他の通信端末に圧縮処理後のデータを送信するステップS2140とを含む。ステップS2140の処理が終了すると、このルーチンは終了する。
図12は、図10のステップS2200の詳細なフローである。図12を参照して、このルーチンは、ネットワーク50を介して他の通信端末から送信された映像データ(画像データ及び音声データ)を取得し、取得した映像データを伸張処理(デコード)するステップS2210と、ステップS2210の後に実行され、取得した画像データをディスプレイ60に表示するステップS2220と、ステップS2210の後に実行され、ディスプレイ60への表示と同期して、取得した音声データをスピーカ84(図3参照)から出力するステップS2230とを含む。ステップS2220及びステップS2230の処理が終了すると、このルーチンは終了する。
[動作]
本実施の形態に係るビデオ会議システム10は以下のように動作する。
本実施の形態に係るビデオ会議システム10は以下のように動作する。
図1を参照して、第1の通信端末100Aと第2の通信端末100Bとがネットワーク50を介して接続されている(図10のステップS2000においてYES)。第1のカメラ70aは、ユーザAの顔領域を含む非正面画像を撮像する。第1のマイクスピーカ80a(マイク82a)は、ユーザAが発した音声を集音する。同様に、第2のカメラ70bは、ユーザBの顔領域を含む非正面画像を撮像する。第2のマイクスピーカ80b(マイク82b)は、ユーザBが発した音声を集音する。
図3を参照して、第1の通信端末100Aの画像処理部200(画像生成部202)には、第1のカメラ70aで撮像されたユーザAの非正面画像データが入力される(図11のステップS2110)。画像生成部202は、非正面画像データが入力されると、学習モデル記憶部122に記憶されている学習モデルを用いて、入力された非正面画像データに基づいて、ユーザAの正面画像データを生成して出力する(ステップS2120)。入力される非正面画像データが動画データである場合、画像生成部202は、例えばフレーム画像毎にユーザAの正面画像データを生成して出力する。第1のマイクスピーカ80a(マイク82a)が集音したユーザAの音声データは、音声処理部210に入力される(ステップS2130)。
画像処理部200は、画像生成部202が生成した正面画像データを圧縮処理する。音声処理部210は、入力された音声データを圧縮処理する。制御部110は、圧縮処理された正面画像データ及び音声データを、ネットワーク50を介して第2の通信端末100Bに送信するよう、通信IF150を制御する(ステップS2140)。
第2の通信端末100Bも第1の通信端末100Aと同様に動作する。
第2の通信端末100Bは、第1の通信端末100Aから送信された正面画像データ及び音声データを受信し、それらデータを伸張処理する(図12のステップS2210)。第2の通信端末100Bは、正面画像データが示すユーザAの正面画像を第2のディスプレイ60bに表示し(ステップS2220)、それに同期して、ユーザAの音声をスピーカ84bから出力する(ステップS2230)。
同様に、第1の通信端末100Aは、第2の通信端末100Bから送信された正面画像データ及び音声データを受信し、それらデータを伸張処理する。第1の通信端末100Aは、正面画像データが示すユーザBの正面画像を第1のディスプレイ60aに表示し、それに同期して、ユーザBの音声をスピーカ84aから出力する。
ユーザA及びユーザBは、それぞれ、第1のディスプレイ60aに表示されたユーザB及び第2のディスプレイ60bに表示されたユーザAの映像を見ながら互いに遠隔対話を行なう。
[本実施の形態の効果]
以上の説明から明らかなように、本実施の形態に係るコンピュータプログラムをビデオ会議システム10に適用することにより、以下に述べる効果を奏する。
以上の説明から明らかなように、本実施の形態に係るコンピュータプログラムをビデオ会議システム10に適用することにより、以下に述べる効果を奏する。
画像生成部202は、学習モデル記憶部122に記憶されている学習モデルを用いて、ユーザの非正面の画像データに基づいて当該ユーザの正面の画像データを生成する。生成された正面の画像データは、ネットワーク50を介して、他の通信端末に送信される。相手側のディスプレイには上記ユーザの正面画像が表示されるので、ディスプレイに映る顔画像の視線とそのディスプレイを見ながら話をする相手の視線とが一致する。正面画像は、視線のみならず、顔の向きも相手と一致する視線一致画像である。加えて、体の部位の位置も相手と一致するよう補正される。そのため、こうした正面画像を相手側のディスプレイに表示することによって対話時の臨場感をより高めることができる。さらに、正面画像は、ユーザの非正面の画像データから学習モデルを用いて生成されるので、RGB-Dカメラのような特別な機器も不要となる。加えて、上記学習モデルを用いた正面画像の生成は、ユーザの非正面の画像データがあれば可能である。そのため、どのようなユーザに対しても正面画像(視線一致画像)を生成できる。すなわち、ユーザを選ばない。
複数台のカメラを用いて人物の非正面画像を撮像し、これら非正面データを訓練データとして用いることにより、方向が互いに異なる複数の非正面から撮像された人物の顔領域を含む人物画像と、正面から撮像された当該人物の顔領域を含む人物画像とから、非正面と正面とにおける人物画像の変化を機械学習させて学習モデルを構築できる。こうした学習モデルを用いることにより、より効果的に、ユーザの非正面画像データから正面画像データを生成できる。例えば、ビデオ会議システム10の利用時に、カメラ70の設置位置を変えた場合でも、ユーザの非正面の画像データから学習モデルを用いてより正確な正面画像データを生成できる。加えて、ディスプレイの向きとカメラの向きとの角度差を予め測定しておく必要もないため、そうした手間を省くこともできる。
(第2の実施の形態)
本実施の形態に係る通信端末は、非正面画像データに基づく正面画像データの生成方法が第1の実施の形態とは異なる。
本実施の形態に係る通信端末は、非正面画像データに基づく正面画像データの生成方法が第1の実施の形態とは異なる。
図13を参照して、本実施の形態に係る通信端末300は、制御部110(図3参照)に代えて、制御部310を含む。制御部310は、機能部としての画像処理部320及び音声処理部210を含む。画像処理部320は画像生成部322を含み、画像生成部322はパーツ配置部324を含む。通信端末300はさらに、記憶装置120(図3参照)に代えて、記憶装置340を含む。記憶装置340は、学習モデル記憶部342を含む。
画像生成部322は、ユーザの非正面画像から当該ユーザの顔を構成する顔パーツ(顔パーツ画像)を抽出するための顔パーツ抽出機能、学習モデル記憶部342に記憶されている学習モデルを用いて、抽出された各顔パーツをそれぞれ正面画像の各顔パーツに変換するための変換機能、及び、変換した正面の顔パーツを用いて当該ユーザの正面の画像データを生成するための正面画像生成機能を持つ。正面画像生成機能は、非正面画像において、各顔パーツをそれぞれ正面画像の各顔パーツに置換えた後に、予め定められた配置基準に基づいて配置を調整することでユーザの正面画像データを生成する機能を持つ。正面画像の各顔パーツの配置は、パーツ配置部324によって行なわれる。
図14を参照して、抽出される顔パーツ画像は、例えば、左目画像350、右目画像352、鼻画像354、口画像356、及び顔の輪郭画像358を含む。
[学習モデルの構築]
図15を参照して、本実施の形態で用いる学習モデルは、非正面と正面とにおける、人物画像の各顔パーツの変化を機械学習させた顔パーツ学習モデル344を含む。学習モデルは、人物の非正面画像及び正面画像から顔パーツを抽出し、抽出した各顔パーツを訓練データとして用いることで、顔パーツ毎に学習モデル生成部220aに機械学習させることで構築される。その他の構成は第1の実施の形態と同様である。
図15を参照して、本実施の形態で用いる学習モデルは、非正面と正面とにおける、人物画像の各顔パーツの変化を機械学習させた顔パーツ学習モデル344を含む。学習モデルは、人物の非正面画像及び正面画像から顔パーツを抽出し、抽出した各顔パーツを訓練データとして用いることで、顔パーツ毎に学習モデル生成部220aに機械学習させることで構築される。その他の構成は第1の実施の形態と同様である。
[ソフトウェア構成]
〈学習フェーズ〉
図16を参照して、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
〈学習フェーズ〉
図16を参照して、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
このプログラムは、モデルパラメータの初期化を行なうステップS1100と、ステップS1100の後に実行され、入力された訓練データの各画像から各顔パーツを抽出するステップS1110と、ステップS1110の後に実行され、以下に説明するステップS1130~ステップS1150を、前回の繰返しと今回の繰返しにおける学習モデルの精度の差が所定の値以下となるまで機械学習を繰返すステップS1120と、ステップS1120の後に実行され、機械学習によって構築された学習モデルを保存するステップS1160とを含む。
ステップS1160において、学習モデルの精度の差所定の値以下となるまで機械学習を繰返す処理は、正面画像から抽出した各パーツ画像を教師データとして、非正面画像及び正面画像における各顔パーツの変化を学習するステップS1130と、ステップS1130の後に実行され、学習により得られた各モデルにテストデータを入力して当該各モデルをテストするステップS1140と、ステップS1140の後に実行され、テストデータを入力して得られるデータと当該テストデータの正面画像データとを比較することで精度計算を行ない、前回の繰返しの精度と比較するステップS1150とを含む。ステップS1130では、非正面画像の各顔パーツをどのように補正すれば正面画像の各顔パーツが得られるかを入力された訓練データによって機械学習する。
構築された学習モデルは、通信端末300の記憶装置340に記憶され、これによって、学習モデル記憶部342が形成される。
〈利用フェーズ〉
本実施の形態に係るビデオ会議システム(通信端末300)では、図10に示されるプログラムに代えて、図17に示されるプログラムが実行される。図17のプログラムは、図10のステップS2100に代えて、ステップS3000を含む。図17のステップS2000、ステップS2200、及びステップS2300における処理は、図10に示される各ステップにおける処理と同じである。
本実施の形態に係るビデオ会議システム(通信端末300)では、図10に示されるプログラムに代えて、図17に示されるプログラムが実行される。図17のプログラムは、図10のステップS2100に代えて、ステップS3000を含む。図17のステップS2000、ステップS2200、及びステップS2300における処理は、図10に示される各ステップにおける処理と同じである。
図18は、図17のステップS3000の詳細なフローである。図18を参照して、このルーチンは、カメラ70(図13参照)から出力された、顔領域を含むユーザの画像データ(非正面画像データ)を画像生成部322に入力するステップS3010と、ステップS3010の後に実行され、入力画像データから顔パーツを抽出するステップS3020と、ステップS3020の後に実行され、学習モデル記憶部342に記憶されている顔パーツ学習モデル344(図15参照)を用いて、非正面の入力画像データの各顔パーツをそれぞれ正面画像データの各顔パーツに変換するステップS3030と、ステップS3030の後に実行され、変換された各顔パーツを用いてユーザの正面画像データを生成するステップS3040と、非正面画像データの入力と並行して、マイク82(図13参照)が取得した音声データを音声処理部210に入力するステップS3050と、ステップS3040及びステップS3050の後に実行され、正面画像データ及び音声データを圧縮処理した後に、通信IF150(図13参照)を介して、他の通信端末に圧縮処理後のデータを送信するステップS3060とを含む。ステップS3060の処理が終了すると、このルーチンは終了する。
ステップS3040では、入力された非正面画像において、各顔パーツ画像を変換後の各顔パーツ画像にそれぞれ置換える処理、及び、変換後の各顔パーツ画像を予め定められた配置基準に基づいて配置調整を行なう処理が実行される。変換後の各顔パーツ画像の配置は、パーツ配置部324によって、例えば、以下に示す配置基準に基づいて行なわれる。
図19(A)を参照して、パーツ配置部324は、入力された非正面画像において、両耳を結ぶ線分L1と顔の中心線M1との交点(基準点C1)、及び、あごの先端の点(基準点D1)を求め、基準点C1から基準点D1までの長さP1及び顔の幅H1を算出する。パーツ配置部324はさらに、各顔パーツの基準点C1に対する距離(位置)を算出する。
図19(B)を参照して、パーツ配置部324は、変換後の輪郭画像において、両耳を結ぶ線分L2と顔の中心線M2との交点(基準点C2)と、あごの先端の点(基準点D2)とを求め、基準点C2から基準点D2までの長さP2及び顔の幅H2を算出する。パーツ配置部324は、入力された非正面画像において、例えば、基準点C1と基準点C2とが一致するようにして、変換前の輪郭画像を変換後の輪郭画像に置換える。パーツ配置部324はさらに、変換後の各顔パーツが配置される位置(基準点C2に対する位置)を、長さP1と長さP2との比、及び、幅H1と幅H2との比に基づいて算出し、算出された位置に変換後の各顔パーツが配置されるよう、残りの顔パーツを置換える。
例えば、入力された非正面画像において、右目の基準点C1に対する位置が(x1、y1)であった場合、変換後の右目画像を配置する位置(x2、y2)は以下の式から算出される。
x2=x1(H2/H1)
y2=y1(P2/P1)
x2=x1(H2/H1)
y2=y1(P2/P1)
他の顔パーツの配置位置も上記と同様にして算出される。なお、配置基準は上記した基準に限定されず、他の基準を用いてもよい。
[作用・効果]
学習モデルは、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける、人物画像の顔を構成する各顔パーツの変化を学習させた顔パーツ学習モデル344を含む。画像生成部322は、入力された、ユーザの非正面画像から当該ユーザの顔を構成する顔パーツ(顔パーツ画像)を抽出し、顔パーツ学習モデル344を用いて、抽出した各顔パーツをユーザの正面の各顔パーツに変換する。画像生成部322はさらに、変換した正面の顔パーツを用いて当該ユーザの正面の画像データを生成する。ユーザの正面画像データを生成する際に、画像全体ではなく、画像の一部(顔パーツ)を変換して正面画像データを生成するため、正面画像データの生成時間を短縮できる。
学習モデルは、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける、人物画像の顔を構成する各顔パーツの変化を学習させた顔パーツ学習モデル344を含む。画像生成部322は、入力された、ユーザの非正面画像から当該ユーザの顔を構成する顔パーツ(顔パーツ画像)を抽出し、顔パーツ学習モデル344を用いて、抽出した各顔パーツをユーザの正面の各顔パーツに変換する。画像生成部322はさらに、変換した正面の顔パーツを用いて当該ユーザの正面の画像データを生成する。ユーザの正面画像データを生成する際に、画像全体ではなく、画像の一部(顔パーツ)を変換して正面画像データを生成するため、正面画像データの生成時間を短縮できる。
その他の効果は第1の実施の形態と同様である。
(第3の実施の形態)
本実施の形態に係る通信端末は、非正面画像データに基づく正面画像データの生成方法が第1及び第2の実施の形態とは異なる。
本実施の形態に係る通信端末は、非正面画像データに基づく正面画像データの生成方法が第1及び第2の実施の形態とは異なる。
図20を参照して、本実施の形態に係る通信端末400は、制御部110(図3参照)又は制御部310(図13参照)に代えて、制御部410を含む。制御部410は、機能部としての画像処理部420及び音声処理部210を含む。画像処理部420は画像生成部422を含み、画像生成部422は選択部424を含む。通信端末400はさらに、記憶装置120(図3参照)又は記憶装置340(図13参照)に代えて、記憶装置440を含む。記憶装置440は、学習モデル記憶部442、及び分類器記憶部444を含む。分類器記憶部444は、カメラ70によって撮像されたユーザの非正面画像に基づいて、正面画像データの生成に用いる、後述する分類学習モデルを選択するための分類器を記憶する。
図21を参照して、学習モデル記憶部442に記憶される学習モデルは、グループ毎に分類された複数の分類学習モデル448(448_1~448_N)を含む。分類学習モデル448は、それぞれ、予めグループ分けされた訓練データを用いた機械学習により構築されている。
再び図20を参照して、分類器は、選択部424で利用可能に分類器記憶部444に記憶されている。分類器にはサポートベクターマシン(SVM)等のアルゴリズムを用いることができる。
[学習モデルの構築]
再び図21を参照して、本実施の形態で用いる学習モデルは、グループ毎に分類され、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける人物画像の変化をグループ毎に分類学習モデル生成部220bに機械学習させた上記分類学習モデル448を含む。
再び図21を参照して、本実施の形態で用いる学習モデルは、グループ毎に分類され、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける人物画像の変化をグループ毎に分類学習モデル生成部220bに機械学習させた上記分類学習モデル448を含む。
学習フェーズでは、訓練データ記憶部450に記憶された訓練データのデータセットがクラスタリング452によって所定数(N個)のグループに分類される。クラスタリング452により結果として、顔の特徴がよく似たものが同じグループに属するようにデータセットが分類される。クラスタリング452には、k平均法、階層法等を用いることができる。分類されたデータセットによって分類器452の学習が行なわれ、学習済みの分類器が分類器記憶部444に記憶される。分類器は、カメラ画像が入力されると、入力された画像が属するグループを選択する。なお、訓練データの分類は人手で行なうことも可能である。その他の構成は第1の実施の形態と同様である。
[ソフトウェア構成]
〈学習フェーズ〉
図22を参照して、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
〈学習フェーズ〉
図22を参照して、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、ユーザの操作に応じて開始する。
このプログラムは、人物の正面画像及び非正面画像のペアからなる訓練データのデータセットを取得するステップS1200と、ステップS1200の後に実行され、取得した訓練データ(データセット)を予め設定された所定数のグループに分類するステップS1210と、ステップS1210の後に実行され、以下に説明するステップS1020~ステップS1040を、分類された全てのグループにおいて学習モデルが構築されるまで繰返すステップS1220とを含む。
ステップS1220において、分類された全てのグループにおいて学習モデルが構築されるまで繰返される処理は、モデルパラメータの初期化を行なうステップS1230と、ステップS1230の後に実行され、以下に説明するステップS1250~ステップS1270を、前回の繰返しと今回の繰返しにおける学習モデルの精度差が所定の値以下となるまで機械学習を繰返すステップS1240と、ステップS1240の後に実行され、機械学習によって構築された学習モデルを保存するステップS1280とを含む。
ステップS1240において、学習モデルの精度差が所定の値以下となるまで機械学習を繰返す処理は、人物の正面画像及び非正面画像のペアからなる訓練データのデータセットを入力し、正面画像を教師データとして、非正面画像及び正面画像における人物画像の変化を学習するステップS1250と、ステップS1250の後に実行され、学習により得られたモデルにテストデータを入力して当該モデルをテストするステップS1260と、ステップS1260の後に実行され、テストデータを入力して得られるデータと当該テストデータの正面画像データとを比較することで精度計算を行ない、前回の繰返し時の精度と比較するステップS1270とを含む。
構築された学習モデル(分類学習モデル448)は、通信端末400の記憶装置440に記憶され、これによって、学習モデル記憶部442が形成される。
〈利用フェーズ〉
本実施の形態に係るビデオ会議システム(通信端末400)では、図10に示されるプログラムに代えて、図23に示されるプログラムが実行される。図23のプログラムは、図10のステップS2100に代えて、ステップS4000を含む。図23のステップS2000、ステップS2200、及びステップS2300における処理は、図10に示される各ステップにおける処理と同じである。
本実施の形態に係るビデオ会議システム(通信端末400)では、図10に示されるプログラムに代えて、図23に示されるプログラムが実行される。図23のプログラムは、図10のステップS2100に代えて、ステップS4000を含む。図23のステップS2000、ステップS2200、及びステップS2300における処理は、図10に示される各ステップにおける処理と同じである。
図24は、図23のステップS4000の詳細なフローである。図24を参照して、このルーチンは、カメラ70(図20参照)から出力された、顔領域を含むユーザの画像データ(非正面画像データ)を画像生成部422に入力するステップS4010と、ステップS4010の後に実行され、識別器を用いたマッチング処理により、正面画像データの生成に用いる分類学習モデル448を選択するステップS4020と、ステップS4020の後に実行され、選択された分類学習モデル448を用いて、非正面の入力画像データを正面画像データに変換するステップS4030と、非正面画像データの入力と並行して、マイク82(図20参照)が取得した音声データを音声処理部210に入力するステップS4040と、ステップS4030及びステップS4040の後に実行され、正面画像データ及び音声データを圧縮処理した後、通信IF150(図20参照)を介して、他の通信端末に圧縮処理後のデータを送信するステップS4050とを含む。ステップS4050の処理が終了すると、このルーチンは終了する。
[動作]
本実施の形態に係るビデオ会議システムは以下のように動作する。なお、正面画像データの生成動作を除いた動作は、上記第1の実施の形態と同様である。したがって、同様の動作についての詳細な説明は繰返さない。
本実施の形態に係るビデオ会議システムは以下のように動作する。なお、正面画像データの生成動作を除いた動作は、上記第1の実施の形態と同様である。したがって、同様の動作についての詳細な説明は繰返さない。
図20を参照して、通信端末400の画像処理部420(画像生成部422)には、カメラ70で撮像されたユーザの非正面画像データが入力される(図24のステップS4010)。非正面画像データが入力されると、選択部424は、分類器を用いて正面画像データの生成に用いる分類学習モデル448を選択する(図24のステップS4020)。
画像生成部422は、選択された分類学習モデル448を用いて、入力された非正面画像データに基づいて、ユーザの正面画像データを生成して出力する(ステップS4030)。
[作用・効果]
上述のように、画像生成部422は、ユーザの非正面画像に基づいて、分類されたグループの中から非正面画像データが示す人物画像が属するグループを選択するための選択機能、及び、選択機能によって選択されたグループの分類学習モデル448を用いて、画像取得機能が取得したユーザの非正面画像データに基づいて当該ユーザの正面画像データを生成するための機能を持つ。
上述のように、画像生成部422は、ユーザの非正面画像に基づいて、分類されたグループの中から非正面画像データが示す人物画像が属するグループを選択するための選択機能、及び、選択機能によって選択されたグループの分類学習モデル448を用いて、画像取得機能が取得したユーザの非正面画像データに基づいて当該ユーザの正面画像データを生成するための機能を持つ。
学習モデルは、グループ毎に分類され、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける人物画像の変化をグループ毎に学習させた分類学習モデル448を含む。画像生成部422は、入力された、ユーザの非正面画像に基づいて、分類されたグループの中から当該非正面画像と類似する人物画像が属するグループを選択し、選択されたグループの分類学習モデル448を用いて、ユーザの非正面画像に基づいて当該ユーザの正面画像を生成する。ユーザの正面画像データを生成する際に、類似度の高い画像を用いて学習させた学習モデルを用いることができるため、より精度の高い正面画像データを容易に生成できる。
その他の効果は第1の実施の形態と同様である。
(第4の実施の形態)
上記第1~第3の実施の形態では、カメラで撮像したユーザの非正面画像データに基づいて当該ユーザの正面画像データを生成し、生成した正面画像データを他の通信端末に送信する例について示した。
上記第1~第3の実施の形態では、カメラで撮像したユーザの非正面画像データに基づいて当該ユーザの正面画像データを生成し、生成した正面画像データを他の通信端末に送信する例について示した。
本実施の形態では、上記実施の形態とは異なり、画像データを送信する側の通信端末はカメラで撮像したユーザの非正面画像データを送信し、その非正面画像データを受信する側の通信端末が受信した非正面画像データに基づいて正面画像データを生成する。
図25を参照して、本実施の形態に係る通信端末500は、制御部110(図3参照)に代えて、制御部510を含む。制御部510は、機能部としての画像処理部520及び音声処理部210を含む。画像処理部520は画像生成部522を含む。
画像処理部520は、ネットワーク50を介して、他の通信端末を操作(使用)するユーザの非正面の画像データを取得するための画像取得機能を持つ。画像生成部522は、学習モデル記憶部122に記憶されている学習モデルを用いて、上記画像取得機能によって取得された、他の通信端末のユーザの非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成機能を持つ。制御部510はさらに、通信IF150を制御して、上記生成機能により生成された正面の画像データをディスプレイ60に表示させるための表示機能を持つ。
[ソフトウェア構成]
〈学習フェーズ〉
本実施の形態では、第1の実施の形態と同様の学習モデルを用いる。したがって、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造については、その説明を省略する。
〈利用フェーズ〉
本実施の形態に係るビデオ会議システム(通信端末500)では、図10に示されるプログラムに代えて、図26に示されるプログラムが実行される。図26のプログラムは、図10のステップS2100及びステップS2200に代えて、それぞれ、ステップS5000及びステップS6000を含む。図26のステップS2000、及びステップS2300における処理は、図10に示される各ステップにおける処理と同じである。
〈学習フェーズ〉
本実施の形態では、第1の実施の形態と同様の学習モデルを用いる。したがって、学習モデルを構築するために、学習モデル構築用のコンピュータで実行されるコンピュータプログラムの制御構造については、その説明を省略する。
〈利用フェーズ〉
本実施の形態に係るビデオ会議システム(通信端末500)では、図10に示されるプログラムに代えて、図26に示されるプログラムが実行される。図26のプログラムは、図10のステップS2100及びステップS2200に代えて、それぞれ、ステップS5000及びステップS6000を含む。図26のステップS2000、及びステップS2300における処理は、図10に示される各ステップにおける処理と同じである。
図27は、図26のステップS5000の詳細なフローである。図27を参照して、このルーチンは、カメラ70(図25参照)及びマイク82(図25参照)を介して取得した映像データ(非正面画像データ及び音声データ)を入力するステップS5010と、ステップS5010の後に実行され、映像データを圧縮処理した後に、通信IF150(図25参照)を介して、他の通信端末に圧縮処理後のデータを送信するステップS5020とを含む。ステップS5020の処理が終了すると、このルーチンは終了する。ステップS5010では、カメラ70から出力された、顔領域を含むユーザの非正面画像データ、及びマイク82から出力された、当該ユーザの音声データを取得する。
図28は、図26のステップS6000の詳細なフローである。図28を参照して、このルーチンは、ネットワーク50を介して他の通信端末から送信された映像データ(非正面画像データ及び音声データ)を取得し、取得した映像データを伸張処理するステップS6010と、ステップS6010の後に実行され、受信した非正面画像データ(伸張処理後の非正面画像データ)を画像生成部522に入力するステップS6020と、ステップS6020の後に実行され、学習モデル記憶部122に記憶されている学習モデルを用いて、非正面の入力画像データを正面画像データに変換するステップS6030と、ステップS6030の後に実行され、変換された正面画像データをディスプレイ60に表示するステップS6040と、ステップS6010の後に実行され、ディスプレイ60への表示と同期して、取得した音声データをスピーカ84(図25参照)から出力するステップS6050とを含む。ステップS6040及び6050の処理が終了すると、このルーチンは終了する。
[作用・効果]
生成機能は、上記学習モデルを用いて、画像取得機能が取得したユーザの非正面の画像データに基づいて当該ユーザの正面の画像データを生成する。表示機能は、生成機能により生成された正面の画像データが示す正面画像をディスプレイ60に表示させる。ディスプレイ60には他の通信端末を操作(使用)するユーザの正面画像が表示されるので、ディスプレイ60に映る顔画像の視線とそのディスプレイ60を見ながら話をするユーザの視線とが一致する。正面画像は、視線のみならず、顔の向きも相手と一致する視線一致画像である。加えて、体の部位の位置も相手と一致するよう補正される。そのため、こうした正面画像をディスプレイ60に表示することによって臨場感をより高めることができる。さらに、正面画像は、ユーザの非正面の画像データから学習モデルを用いて生成されるので、RGB-Dカメラのような特別な機器も不要となる。加えて、上記学習モデルを用いた正面画像の生成は、ユーザの非正面の画像データがあれば可能である。そのため、どのようなユーザに対しても正面画像(視線一致画像)を生成できる。すなわち、ユーザを選ばない。
生成機能は、上記学習モデルを用いて、画像取得機能が取得したユーザの非正面の画像データに基づいて当該ユーザの正面の画像データを生成する。表示機能は、生成機能により生成された正面の画像データが示す正面画像をディスプレイ60に表示させる。ディスプレイ60には他の通信端末を操作(使用)するユーザの正面画像が表示されるので、ディスプレイ60に映る顔画像の視線とそのディスプレイ60を見ながら話をするユーザの視線とが一致する。正面画像は、視線のみならず、顔の向きも相手と一致する視線一致画像である。加えて、体の部位の位置も相手と一致するよう補正される。そのため、こうした正面画像をディスプレイ60に表示することによって臨場感をより高めることができる。さらに、正面画像は、ユーザの非正面の画像データから学習モデルを用いて生成されるので、RGB-Dカメラのような特別な機器も不要となる。加えて、上記学習モデルを用いた正面画像の生成は、ユーザの非正面の画像データがあれば可能である。そのため、どのようなユーザに対しても正面画像(視線一致画像)を生成できる。すなわち、ユーザを選ばない。
その他の効果を上記第1の実施の形態と同様である。
(第5の実施の形態)
本実施の形態では、非正面画像データに基づく正面画像データの生成が、ネットワークを介して通信端末と接続されるサーバで行なわれる。この点において、本実施の形態は、上記第1~第4の実施の形態とは異なる。
本実施の形態では、非正面画像データに基づく正面画像データの生成が、ネットワークを介して通信端末と接続されるサーバで行なわれる。この点において、本実施の形態は、上記第1~第4の実施の形態とは異なる。
[全体構成]
図29を参照して、本実施の形態に係るビデオ会議システム20は、第1の通信端末100A及び第2の通信端末100B(図1参照)に代えて、第1の通信端末600A及び第2の通信端末600Bを含む。第1の通信端末600A及び第2の通信端末600Bは、第1の実施の形態と同様、いずれもパーソナルコンピュータ(PC)であり、総称する場合は「通信端末600」と記す。
図29を参照して、本実施の形態に係るビデオ会議システム20は、第1の通信端末100A及び第2の通信端末100B(図1参照)に代えて、第1の通信端末600A及び第2の通信端末600Bを含む。第1の通信端末600A及び第2の通信端末600Bは、第1の実施の形態と同様、いずれもパーソナルコンピュータ(PC)であり、総称する場合は「通信端末600」と記す。
ビデオ会議システム20はさらに、サーバ700を含む。第1の通信端末600A及び第2の通信端末600Bは、ネットワーク50を介してサーバ700に接続されている。第1の通信端末600Aと第2の通信端末600Bとの間のデータの送受信は、サーバ700を介して行なわれる。
サーバ700は、第1の通信端末600A及び第2の通信端末600Bの一方から受信した非正面画像データに基づいて、学習モデルを用いて正面画像データを生成し、生成した正面画像データを第1の通信端末600A及び第2の通信端末600Bの他方に送信する。なお、サーバ700は、生成した正面画像データを第1の通信端末600A及び第2の通信端末600Bの両方に送信するよう構成されていてもよい。
[ハードウェア構成]
《通信端末600》
通信端末600は、図2に示す通信端末100と同様のハードウェア構成を有する。
《サーバ700》
図30を参照して、サーバ700は、制御部710、記憶装置720、入力IF730、出力IF740、及び通信IF750を含む。
《通信端末600》
通信端末600は、図2に示す通信端末100と同様のハードウェア構成を有する。
《サーバ700》
図30を参照して、サーバ700は、制御部710、記憶装置720、入力IF730、出力IF740、及び通信IF750を含む。
制御部710は、実質的にコンピュータであって、CPU712、GPU714、ROM716、及び、RAM718を含む。CPU712はサーバ700全体を制御する。GPU714は、画像の演算処理を実行する。ROM716は不揮発性の記憶装置である。ROM716にはCPU712がサーバ700を制御するためのプログラム及びデータが記憶されている。RAM718は揮発性の記憶装置である。記憶装置720は不揮発性の記憶装置であり、例えばハードディスクドライバ(HDD)又はフラッシュメモリである。記憶装置720は、学習モデル記憶部122(図3参照)と同様の学習モデル記憶部722を含む。
CPU712、GPU714、ROM716、RAM718、記憶装置720、入力IF730、出力IF740、及び通信IF750はいずれもバス760に接続されており、相互間のデータ交換はバス760を介して行なわれる。
入力IF730は、マウス及びキーボード(以上、いずれも図示せず。)との間の接続に関するインターフェイスを提供する。出力IF740は、ディスプレイ(図示せず。)との間の接続に関するインターフェイスを提供する。通信IF750は、有線又は無線(本実施の形態においては有線)によりネットワーク50への接続を提供する。
バス760、GPU714、ROM716、RAM718、記憶装置720、入力IF730、出力IF740及び通信IF750は、いずれもCPU712の制御のもとに協調して動作し、本実施の形態に係るサーバとしてサーバ700は種々のアプリケーション(コンピュータプログラム)による処理を実現する。それらのアプリケーションは、例えば、ユーザを選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感のより高い視線一致画像を生成して表示するビデオ会議システムにおけるサーバを実現する。
[ソフトウェア構成]
《サーバ700》
図30を参照して、ビデオ会議システム20の利用時に、ビデオ会議システム20を構成するサーバ700で実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、通信端末の接続が確立されたことに応じて開始する。
《サーバ700》
図30を参照して、ビデオ会議システム20の利用時に、ビデオ会議システム20を構成するサーバ700で実行されるコンピュータプログラムの制御構造について説明する。このプログラムは、通信端末の接続が確立されたことに応じて開始する。
図31を参照して、このプログラムは、通信端末600から送信される映像データを受信するステップS7000と、ステップS7000の後に実行され、受信した映像データに含まれる非正面画像データを正面画像データに変換して、当該正面画像データを含む映像データを他の通信端末600に送信し、制御をステップS7000に戻すステップS7100とを含む。
図32は、図31のステップS7100の詳細なフローである。図32を参照して、このルーチンは、受信した映像データに含まれる非正面画像データを入力するステップS7110と、ステップS7110の後に実行され、学習モデル記憶部722に記憶されている学習モデルを用いて、非正面の入力画像データを正面画像データに変換するステップS7120と、ステップS7120の後に実行され、変換した正面画像データ及び受信した音声データを含む映像データを他の通信端末600に送信してこのルーチンを終了するステップS7130とを含む。
[動作]
本実施の形態に係るビデオ会議システム20は以下のように動作する。なお、正面画像データの生成動作を除いた動作は、上記第1の実施の形態と同様である。したがって、同様の動作についての詳細な説明は繰返さない。
本実施の形態に係るビデオ会議システム20は以下のように動作する。なお、正面画像データの生成動作を除いた動作は、上記第1の実施の形態と同様である。したがって、同様の動作についての詳細な説明は繰返さない。
図29を参照して、第1の通信端末600Aは、カメラ70で撮像したユーザAの顔領域を含む非正面画像データをサーバ700に送信する。サーバ700は、第1の通信端末600Aから送信された非正面画像データを受信すると、学習モデル記憶部722(図30参照)に記憶された学習モデルを用いて、受信した非正面画像データに基づいてユーザAの正面画像データを生成する。サーバ700は、生成した正面画像データを第2の通信端末600Bに送信する。第2の通信端末600Bは、サーバ700から送信された正面画像データを受信すると、当該正面画像データが示すユーザAの正面画像を第2のディスプレイ60bに表示する。
同様に、第2の通信端末600Bは、カメラ70で撮像したユーザBの顔領域を含む非正面画像データをサーバ700に送信する。サーバ700は、第2の通信端末600Bから送信された非正面画像データを受信すると、学習モデル記憶部722(図30参照)に記憶された学習モデルを用いて、受信した非正面画像データに基づいてユーザBの正面画像データを生成する。サーバ700は、生成した正面画像データを第1の通信端末600Aに送信する。第1の通信端末600Aは、サーバ700から送信された正面画像データを受信すると、当該正面画像データが示すユーザBの正面画像を第1のディスプレイ60aに表示する。
本実施の形態に係るビデオ会議システム20は、上記のように、通信端末600から送信された非正面画像データに基づいて正面画像データを生成するサーバ700を含む。このような構成によっても、ユーザを選ばず、かつ、RGB-Dカメラのような特別な機器を用いることなく、臨場感の高い視線一致を実現できる。
(変形例)
上記実施の形態では、遠隔コミュニケーションシステムの一種であるビデオ会議システムに本発明を適用した例について示したが、本発明はそのような実施の形態には限定されない。本発明は、会議以外の遠隔コミュニケーション又はビジュアルコミュニケーションを行なうためのシステムに適用することもできる。本発明を会議システムに適用する場合、会議システムはWeb会議システム及びテレビ会議システムのいずれであってもよい。
上記実施の形態では、遠隔コミュニケーションシステムの一種であるビデオ会議システムに本発明を適用した例について示したが、本発明はそのような実施の形態には限定されない。本発明は、会議以外の遠隔コミュニケーション又はビジュアルコミュニケーションを行なうためのシステムに適用することもできる。本発明を会議システムに適用する場合、会議システムはWeb会議システム及びテレビ会議システムのいずれであってもよい。
上記実施の形態では、通信端末にPCを用いた例について示したが、本発明はそのような実施の形態には限定されない。通信端末として、例えば、スマートフォン、又はタブレット端末を用いてもよい。さらに、PC以外の専用端末を通信端末として用いてもよい。
上記第1~第4の実施の形態では、通信端末が学習モデルを保持する例について示したが、本発明はそのような実施の形態には限定されない。例えば、ネットワーク上のサーバが学習モデルを保持する構成であってもよい。さらに、学習モデルは、所定のタイミングで更新されるよう構成されていてもよい。
上記第2の実施の形態では、非正面と正面とにおける、人物画像の各顔パーツの変化を機械学習させる例について示したが、顔パーツの変化に加えて、体の部位の変化を学習させるようにしてもよい。これにより、非正面の入力画像データの各顔パーツ及び体の部位をそれぞれ正面画像データの各顔パーツ及び体の部位に変換できる。変換後の顔パーツ及び体の部位の各画像を用いて正面画像を生成することにより、より臨場感の高い視線一致画像を生成できる。
上記第3の実施の形態では、学習モデル(学習モデル記憶部)に加えて、非正面画像のデータベース(画像記憶部)及び識別器(識別器記憶部)を通信端末が保持する例について示したが、本発明はそのような実施の形態には限定されない。例えばネットワーク上のサーバが、学習モデル、データベース、及び識別器のいずれか、又は全てを保持する構成であってもよい。
上記第4及び第5の実施の形態では、非正面画像データに基づく正面画像データの生成方法に、第1の実施の形態で示した生成方法を用いた例について示したが、本発明はそのような実施の形態には限定されない。非正面画像データに基づく正面画像データの生成方法は、第2の実施の形態、又は第3の実施の形態で示した方法を用いるようにしてもよい。
上記第5の実施の形態では、2台の通信端末を含むビデオ会議システムの例について示したが、本発明はそのような実施の形態には限定されない。第5の実施の形態においても、通信端末の台数は3台以上であってもよい。その場合、サーバは、いずれかの通信端末から受信した非正面画像データに基づいて、学習モデルを用いて正面画像データを生成し、生成した正面画像データを、非正面画像データを送信した通信端末以外の通信端末に送信する。サーバはさらに、非正面画像データを送信した通信端末に対しても、生成した正面画像データを送信するよう構成されていてもよい。すなわち、ビデオ会議システムを構成する全ての通信端末に、サーバが生成した正面画像データを送信するようにしてもよい。
上記実施の形態において、各通信端末に接続されるディスプレイには、対話相手の画像に加えて当該通信端末を使用するユーザの画像を表示するようにしてもよい。さらに、例えば、ユーザがディスプレイを注視しているか否かを判定して、判定結果が肯定であることに応答して、非正面画像データに基づいて正面画像データを生成するようにしてもよい。
なお、上記で開示された技術を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに限定されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
10、20 ビデオ会議システム
50 ネットワーク
60、60a、60b ディスプレイ
70、70a、70b カメラ
80、80a、80b マイクスピーカ
82、82a、82b マイク
84、84a、84b スピーカ
100、100A、100B、300~600 通信端末
110、310、410、510、710 制御部
120、340、440、720 記憶装置
122、342、442、722 学習モデル記憶部
130、730 入力IF
140、740 出力IF
150、750 通信IF
200、320、420、520 画像処理部
202、322、422、522 画像生成部
324 パーツ配置部
344 顔パーツ学習モデル
210 音声処理部
220、220a 学習モデル生成部
220b 分類学習モデル生成部
424 選択部
444 分類器記憶部
450 訓練データ記憶部
700 サーバ
50 ネットワーク
60、60a、60b ディスプレイ
70、70a、70b カメラ
80、80a、80b マイクスピーカ
82、82a、82b マイク
84、84a、84b スピーカ
100、100A、100B、300~600 通信端末
110、310、410、510、710 制御部
120、340、440、720 記憶装置
122、342、442、722 学習モデル記憶部
130、730 入力IF
140、740 出力IF
150、750 通信IF
200、320、420、520 画像処理部
202、322、422、522 画像生成部
324 パーツ配置部
344 顔パーツ学習モデル
210 音声処理部
220、220a 学習モデル生成部
220b 分類学習モデル生成部
424 選択部
444 分類器記憶部
450 訓練データ記憶部
700 サーバ
Claims (8)
- コンピュータに、
ユーザの非正面の画像データを取得するための画像取得機能、及び
非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成機能、
を実現させるための、コンピュータプログラム。 - 前記画像取得機能は、ユーザの顔領域を含む非正面の画像を撮像するための撮像装置を介して、前記コンピュータを操作するユーザの非正面の画像データを取得するための機能を含み、
前記コンピュータに、前記生成機能により生成された前記正面の画像データを、他のコンピュータに送信するための送信機能をさらに実現させるための、請求項1に記載のコンピュータプログラム。 - 前記画像取得機能は、ネットワークを介して、他のコンピュータを操作するユーザの顔領域を含む非正面の画像データを取得するための機能を含み、
前記コンピュータに、前記生成機能により生成された前記正面の画像データが示す正面画像を表示装置に表示させるための表示機能をさらに実現させるための、請求項1に記載のコンピュータプログラム。 - 前記学習モデルは、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける、前記人物画像の顔を構成する各顔パーツの変化を学習させた顔パーツ学習モデルを含み、
前記生成機能は、
前記画像取得機能が取得した前記ユーザの前記非正面の画像データから顔パーツを抽出するための顔パーツ抽出機能と、
前記顔パーツ学習モデルを用いて、前記顔パーツ抽出機能が抽出した顔パーツを前記ユーザの正面の顔パーツに変換するための変換機能と、
前記変換機能が変換した正面の顔パーツを用いて当該ユーザの正面の画像データを生成するための正面画像生成機能とを含む、請求項1~請求項3のいずれか1項に記載のコンピュータプログラム。 - 前記学習モデルは、グループ毎に分類され、非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化をグループ毎に学習させた分類学習モデルを含み、
前記生成機能は、
前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて、前記分類されたグループの中から前記非正面の画像データが示す人物画像が属するグループを選択するための選択機能と、
前記選択機能が選択したグループの前記分類学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための機能とを含む、請求項1~請求項3のいずれか1項に記載のコンピュータプログラム。 - 前記学習モデルは、方向が互いに異なる複数の非正面から撮像された人物の顔領域を含む人物画像と、正面から撮像された当該人物の顔領域を含む人物画像とから、非正面と正面とにおける前記人物画像の変化を学習させており、
前記生成機能は、前記学習モデルを用いて、前記画像取得機能が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成する、請求項1~請求項5のいずれか1項に記載のコンピュータプログラム。 - ユーザの非正面の画像データを取得するステップと、
非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、取得された前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するステップと、
を有する、画像処理方法。 - ユーザの非正面の画像データを取得するための画像取得部と、
非正面及び正面の各々から撮像された人物の顔領域を含む人物画像から、非正面と正面とにおける前記人物画像の変化を学習させた学習モデルを用いて、前記画像取得部が取得した前記ユーザの前記非正面の画像データに基づいて当該ユーザの正面の画像データを生成するための生成部と、
を備える、通信装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018036137A JP2021071735A (ja) | 2018-03-01 | 2018-03-01 | コンピュータプログラム |
JP2018-036137 | 2018-03-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019167380A1 true WO2019167380A1 (ja) | 2019-09-06 |
Family
ID=67804945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/045611 WO2019167380A1 (ja) | 2018-03-01 | 2018-12-12 | コンピュータプログラム、画像処理方法、及び通信装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2021071735A (ja) |
WO (1) | WO2019167380A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023181808A1 (ja) * | 2022-03-23 | 2023-09-28 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、及び、記録媒体 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157767A (ja) * | 2007-12-27 | 2009-07-16 | Nippon Telegr & Teleph Corp <Ntt> | 顔画像認識装置、顔画像認識方法、顔画像認識プログラムおよびそのプログラムを記録した記録媒体 |
JP2014049866A (ja) * | 2012-08-30 | 2014-03-17 | Sharp Corp | 画像処理装置及び画像表示装置 |
-
2018
- 2018-03-01 JP JP2018036137A patent/JP2021071735A/ja active Pending
- 2018-12-12 WO PCT/JP2018/045611 patent/WO2019167380A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157767A (ja) * | 2007-12-27 | 2009-07-16 | Nippon Telegr & Teleph Corp <Ntt> | 顔画像認識装置、顔画像認識方法、顔画像認識プログラムおよびそのプログラムを記録した記録媒体 |
JP2014049866A (ja) * | 2012-08-30 | 2014-03-17 | Sharp Corp | 画像処理装置及び画像表示装置 |
Non-Patent Citations (2)
Title |
---|
KUNITA, YUTAKA: "Front View Face Synthesis System for Face-to-Face Communication", THE 2009 ITE ANNUAL CONVENTION, 28 August 2009 (2009-08-28) * |
OKADA, TOMOKO ET AL., POSE ROBUST AND PERSON INDEPENDENT FACIAL EXPRESSIONS RECOGNITION USING AAM MODEL SELECTION PROCEEDINGS OF THE 2009 IEICE GENERAL CONFERENCE: COMMUNICATION/SYSTEMS 2., 4 March 2009 (2009-03-04), pages 132 * |
Also Published As
Publication number | Publication date |
---|---|
JP2021071735A (ja) | 2021-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102503413B1 (ko) | 애니메이션 인터랙션 방법, 장치, 기기 및 저장 매체 | |
US20220124140A1 (en) | Communication assistance system, communication assistance method, and image control program | |
US11423909B2 (en) | Word flow annotation | |
US12112417B2 (en) | Artificial intelligence-based animation character drive method and related apparatus | |
KR102217797B1 (ko) | 전체 얼굴 이미지의 안구주위 및 오디오 합성 | |
JP2023100878A (ja) | 顔の幾何学的形状の歪みによるコンピュータの制御 | |
KR20220072879A (ko) | 혼합 현실 교정을 위한 안구주위 테스트 | |
CN110418095B (zh) | 虚拟场景的处理方法、装置、电子设备及存储介质 | |
CN110401810B (zh) | 虚拟画面的处理方法、装置、系统、电子设备及存储介质 | |
US10955911B2 (en) | Gazed virtual object identification module, a system for implementing gaze translucency, and a related method | |
CN113014960B (zh) | 一种在线制作视频的方法、装置及存储介质 | |
JP2021086415A (ja) | 仮想人物対話システム、映像生成方法、映像生成プログラム | |
JP2018180503A (ja) | パブリックスピーキング支援装置、及びプログラム | |
CN114904268A (zh) | 一种虚拟形象的调整方法、装置、电子设备及存储介质 | |
CN112669422A (zh) | 仿真3d数字人生成方法、装置、电子设备及存储介质 | |
WO2019167380A1 (ja) | コンピュータプログラム、画像処理方法、及び通信装置 | |
WO2023181808A1 (ja) | 情報処理装置、情報処理方法、及び、記録媒体 | |
JP2021086618A (ja) | 仮想人物対話システム、映像生成方法、映像生成プログラム |
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: 18907850 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: 18907850 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |