WO2007031584A1 - Method for animating a three-dimensional conversational agent including a step of controlling the visual behaviour and corresponding device and computer programme - Google Patents

Method for animating a three-dimensional conversational agent including a step of controlling the visual behaviour and corresponding device and computer programme Download PDF

Info

Publication number
WO2007031584A1
WO2007031584A1 PCT/EP2006/066428 EP2006066428W WO2007031584A1 WO 2007031584 A1 WO2007031584 A1 WO 2007031584A1 EP 2006066428 W EP2006066428 W EP 2006066428W WO 2007031584 A1 WO2007031584 A1 WO 2007031584A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent
state
interlocutors
conversation
interlocutor
Prior art date
Application number
PCT/EP2006/066428
Other languages
French (fr)
Inventor
Gaspard Breton
Christophe Garcia
Danielle Pele
Original Assignee
France Telecom
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom filed Critical France Telecom
Publication of WO2007031584A1 publication Critical patent/WO2007031584A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings

Definitions

  • a method of animating a three-dimensional conversational agent implementing a visual behavior control step, device and corresponding computer program is a method of animating a three-dimensional conversational agent implementing a visual behavior control step, device and corresponding computer program.
  • the field of the invention is that of the animation of three-dimensional conversational agents (3D) in a virtual or mixed reality environment.
  • three-dimensional conversational agent refers to a three-dimensional representation of a character in a virtual environment.
  • the invention more specifically relates to a technique for controlling the visual behavior of a conversational agent during a conversation with several interlocutors, notably to improve interaction with the interlocutors.
  • the invention applies in particular, but not exclusively, to virtual reality systems in the context of services, games, discussion forums, services or computer-assisted collaborative work applications.
  • the theme corresponds to the element of an utterance which is known to the participants in the conversation (that is to say, which refers to something already mentioned), and the rheme corresponds to the new information provided to the statement.
  • this article suggests taking into account the semantic content of the conversation to animate the eyes of a three-dimensional conversational agent.
  • Other techniques of animation of a three-dimensional conversational agent in a virtual environment or mixed reality have also been described in the articles cited in Appendix 1, an integral part of this description.
  • the invention particularly aims to overcome these disadvantages of the prior art.
  • an object of the invention is to provide a three-dimensional conversational agent animation technique that gives it a more realistic and fluid movement than the techniques of the prior art, in the context of a conversation with several interlocutors. .
  • an objective of the invention is to implement such a technique for controlling the visual behavior of a three-dimensional conversational agent, in the context of such a conversation with two or more interlocutors.
  • the invention also aims to provide such a technique that is effective, simple to implement and inexpensive.
  • a method of animating a three-dimensional conversational agent in a virtual or mixed-reality environment implement a step of controlling the visual behavior of the agent, during a conversation with at least two interlocutors.
  • the step of controlling the visual behavior implements a step of selecting a target that the agent looks, taking into account:
  • At least one history of the visual behavior the history taking into account, for at least one of the interlocutors, the successive interactions of the agent with the interlocutor; - and at least one state of the conversation, called conversation state, the conversation state belonging to a set of states comprising at least one dialogue state and a quiescent state.
  • the invention proposes a completely new and inventive approach to the animation of a 3D conversational agent, based on the joint use of information representative of a state of conversation between the agent and at least two interlocutors, and its past visual behavior, to select a target to watch, and more generally control different parameters of the visual behavior of the agent.
  • an interlocutor corresponds, in the context of the present invention, to a physical user or another 3D conversational agent.
  • the conversational agent can look for a predetermined first time on a selected main contact taking into account the history of the agent's visual behavior and a state of the conversation, and then look at a second interlocutor or a separate target interlocutors for a second predetermined duration, the second duration being less than the first duration.
  • the agent can thus alternately look at the main interlocutor and any target.
  • Controlling the visual behavior of the conversational agent then makes it possible to improve the interactions between the agent and the group of interlocutors, since the agent can, according to the invention, choose where to look, depending on the information to convey, the history of the conversation, possibly its subject, etc.
  • the selection step also takes into account a distance from the agent to at least one of the interlocutors.
  • the agent can thus determine at regular time intervals the position of each of the interlocutors, as well as a space in which no interlocutor is located.
  • At least one of the parameters of the visual behavior belonging to the group comprising: a frequency of the glances of the agent; - a duration of the glances of the agent.
  • the invention thus makes it possible to create an additional communication channel between the agent and the interlocutors, since it makes it possible to control the gaze of the agent so that the latter looks at an interlocutor with more or less insistence depending, for example the message he seeks to convey, or that he receives.
  • the history takes into account for at least one of the interlocutors, a time during which the agent has already looked at the interlocutor, called watch time.
  • This gaze time is particularly related to each interlocutor.
  • the agent can thus select the interlocutor he will look at by considering the look time he has already granted, and the distance between the interlocutor and the agent.
  • each of the interlocutors is associated with an interval of probabilities If included in the interval [ ⁇ , l], such that the meeting of the intervals of probabilities If corresponds to the interval [ ⁇ , l ], the intervals of probabilities // being disjoint.
  • intervals of probabilities are determined in particular as a function of the distance of the interlocutor i to the agent, and the history of the visual behavior of the agent, that is to say the viewing time that the agent has already devoted to watching the user i.
  • intervals of probabilities are regularly updated (for example every 10 ms approximately).
  • the position of the target is regularly re-evaluated, which makes it possible to control the gaze of the agent according to a possible displacement of the target.
  • the length of the interval of probabilities associated with the interlocutor i is equal to a score of relevance S / normalized, determined according to the equation:
  • the values a and b make it possible in particular to weight the values of the score
  • the step of controlling the visual behavior of the avatar requires the latter to glance in a random direction at a frequency greater than 1 second: the agent can for example look at the floor for 2 seconds, then look at someone for 3 seconds, then look away for 3 seconds, and look at another person for 2 seconds, etc.
  • the agent can, for example, look at the floor for 1 second, then look at an interlocutor for 8 seconds, then look away for 3 seconds, and look at another person for 6 seconds, and so on.
  • the agent then seems more attentive when the state of conversation corresponds to a state of dialogue, and looks more frequently at the interlocutors. On the other hand, when the state of conversation corresponds to a state of rest, it lets its gaze rest on any target.
  • the invention thus makes it possible to animate the avatar, and in particular his gaze, very closely to that of human behavior.
  • control step requires the agent to look at one of the interlocutors, a random draw of a value in the interval [ ⁇ , l] is performed, and the selected target is the interlocutor whose the associated probability interval i contains the value obtained by drawing.
  • the control step takes into account a dialogue information, representative of the semantic content of the conversation, and makes it possible to increase the frequency of the hits. 'eye when the semantic content is of type rheme, with respect to the frequency when the semantic content is of type theme.
  • the agent can take a first look at the interlocutor who listening, or speaking, and then glancing intermittently (less than a second) to this interlocutor.
  • the agent can glance intermittently towards the interlocutor and towards a where there is no party at a frequency greater than one second.
  • the invention also relates to a device for animating a three-dimensional conversational agent in a virtual environment or mixed reality, comprising means for controlling the visual behavior of the agent during a conversation with at least two interlocutors.
  • control means comprise means for selecting a target that the agent looks from:
  • the history taking into account, for at least one of the interlocutors, the successive interactions of the agent with the interlocutor;
  • the invention finally relates to a computer program product downloadable from a communication network and / or stored on a computer-readable and / or executable medium by a microprocessor, comprising program code instructions for carrying out the steps of the method of animation of a three-dimensional conversational agent described previously. 6. List of figures
  • FIG. 1 shows a device for animating a three-dimensional conversational agent according to a preferred embodiment of the invention
  • FIG. 2 illustrates the different states of conversation of the device according to FIG. 1
  • Figure 3 describes the principle of the vestibulo-ocular reflex
  • FIG 4 represents the angular velocity curves used according to the invention for modeling the rotation of the eyes and the neck of a conversational agent
  • Figure 5 illustrates the movements of the neck and eyes of the agent from an articulated chain
  • - Figure 6 shows the rotation techniques applied to the neck and eyes of the agent
  • Figure 7 shows the structure of an animation system of a three-dimensional conversational agent according to the invention.
  • the general principle of the invention is based on the joint use of information representative of a state of conversation between a three-dimensional conversational agent (3D) and at least two interlocutors. , and a history of the agent's visual behavior during the conversation, to select a target that the agent must look at and control his gaze, in order to animate the agent more realistically.
  • the history of the visual behavior of the agent takes into account, for at least one of the interlocutors, successive interactions of the agent with the interlocutor.
  • such a 3D conversational agent can interact with real users and / or other conversational agents, subsequently called interlocutors.
  • Fine modeling of the visual behavior of the conversational agent thus makes it possible to improve the interactions with the interlocutors, since the agent can, according to the invention, choose where to look, depending on the information to be passed, creating then an additional communication channel.
  • a preferred embodiment of the invention is presented according to which a 3D conversational agent 15 discusses with at least two interlocutors, and in which video equipment 11, of digital camera type ("webcam”) , transmits to a vision system 12 information relating to the interlocutors located in the field of view of the agent 15.
  • video equipment 11 of digital camera type webcam
  • the behavior of the agent 15 is controlled by a behavior module 14, powered by the vision system 12 and a dialogue system 13.
  • the vision system 12 allows in particular to detect and determine the position actual interlocutors in the field of view of the agent 15, and calculate the distance of each of the N interlocutors to the agent 15, for example based on a summary calibration taking into account the parameters of the video equipment 11 and the average size of a head.
  • this vision system 12 can detect the face of the interlocutors in the images from the video equipment 11 and thus identify the interlocutors, according to known face detection techniques, which are not the subject of the present invention and are not described here in more detail. For more information, it may in particular refer to the French patent application FR 05 03047 in the name of the same applicants as the present patent application.
  • the dialogue system 13 provides for the behavior engine 14 indications on the current state of the conversation, namely a state of rest or a state of dialogue. More precisely, the dialogue state corresponds either to a speech transmission state, in which the agent speaks with the interlocutors, or to a listening state, according to which the agent listens to at least one interlocutor.
  • the dialogue system 13 also makes it possible to determine dialogue information representative of the semantic content of the conversation.
  • this semantic information informs the behavior engine 14 if the words spoken by the agent 15, or by one of the interlocutors, are of type theme or rheme.
  • the theme corresponds to an element of a proposition that refers to something that has already been mentioned, while the rheme corresponds to the new element of a proposition.
  • the behavior engine 14 thus takes into account, according to the preferred embodiment of the invention, this information of the vision system 12 and the dialogue system 13 to animate the agent 15, including his gaze.
  • this selection is made according to the state of the conversation and a history of the visual behavior of the agent, the history taking into account, for at least one of the interlocutors, successive interactions of the agent with the interlocutor.
  • this history of visual behavior takes into account the duration of a conversation with a group of interlocutors since its inception.
  • the vision system 12 detects the interlocutors present in the field of view of the agent 15, and assigns an identifier to each of them.
  • the behavior engine 14 keeps in particular the history of the behavior of each interlocutor i and assigns him an "age". When the interlocutor i enters the field of vision of the agent, it can be considered that there is no history of the visual behavior related to this user (the time of look attributed to the interlocutor i is therefore null and the behavior engine gives it an age equal to 0).
  • the vision system 12 sends the list of the detected interlocutors to the behavior engine 14, the latter sets the age of the detected interlocutors at "0", and makes the others age, that is to say, increments their age of one unit.
  • the interlocutors who remain in the field of vision of the avatar retain an age equal to "0", while the interlocutors who are no longer in the avatar's field of vision are aging, that is to say have an age greater than 0.
  • n 10 for example
  • the interlocutor i returns to the field of view of the agent after a few moments of absence, the history of the visual behavior related to this interlocutor will be preserved. On the other hand, if it leaves during a more important duration of the field of vision of the avatar, the history of the visual behavior related to this interlocutor is destroyed. According to an alternative embodiment, it can also be considered that the history only takes into account the last five minutes of the conversation.
  • the agent alternately looks at at least one interlocutor, then any target. Any target is chosen at random in the space in front of the agent. Indeed, in such a state of rest, it is natural to let his eyes wander over the various elements of the scene.
  • the agent alternately looks at at least one interlocutor and then a separate target of each of the interlocutors.
  • control step requires the agent to look at one of the interlocutors, a random draw of a value in the interval [ ⁇ , l] is performed, and the interlocutor corresponding to the value is selected. drawn.
  • the length of the interval of probabilities // associated with the interlocutor i is equal to a score of relevance Sf normalized, determined by the behavior engine 14 and assigned to each of the N interlocutors present in the field of vision of the avatar .
  • this relevance score can be calculated in the following manner, for each interlocutor i among the group of N interlocutors:
  • N the number of interlocutors present in the agent's field of vision at the time of the evaluation.
  • the total score S is then calculated simply by weighting the two scores SJ / and St /, according to the values a and b, according to the relative importance between the look time and the distance, then is standardized: ⁇ _ a.Sd ⁇ + b. St ⁇ - _ S 1
  • the values a and b make it possible to attribute more or less importance to the criterion of viewing time or distance.
  • TerminalMax t BOrHeMm 1 + S 1
  • TerminalMin TerminalMax t End for
  • intervals of probabilities are constantly updated (for example every 10 ms approximately).
  • the position of the target is reevaluated regularly, which allows to control the gaze of the agent according to a possible movement of the target, and further increases the realism of its visual behavior.
  • the visual behavior control step requires the agent to look at a different target of each of the interlocutors, ie to look at a place where he is sure there are no interlocutors , any target is selected during the selection step, then a check is made to verify that this target is sufficiently far from each of the interlocutors taken one by one.
  • the step of controlling the visual behavior of the conversational agent takes into account a dialogue information representative of the semantic content of the conversation, and allows to increase the frequency of the glances towards a interlocutor when the semantic content is of rheme type, compared to the frequency when the semantic content is of type theme.
  • the conversational agent when the conversation state is a state of rest, the conversational agent glances in a random direction at a frequency greater than one second; - when the conversation state is a dialog state corresponding to a listening state, the agent throws intermittent glances towards the interlocutor and to a place where there is no interlocutor at a frequency greater than one second; when the conversation state is a dialog state corresponding to a speech transmission state, the agent pauses intermittently to the other party and to a place where there is no other party. More precisely, at least at the beginning of a rheme state
  • the agent glances at the interlocutor followed by intermittent glances close (less than one second) to the interlocutor, and in a theme state (corresponding to the issuing of a proposal referring to an element already mentioned) the agent throws intermittent glances towards the interlocutor and to a place where there is no interlocutor at a higher frequency to a second.
  • End the device "exits" from the state, that is to say returns for example from a state of dialogue to a state of rest.
  • the behavior engine 14 can thus be realized in the form of a controller that makes a decision every time when enters a state, among the listening states 21, rest 22, speech transmission 23, rheme 24 or theme 25, each state being decomposed into three sub-states beginning 221, en_cours 222, and end 223 .
  • this decision corresponds to the selection of a target that the conversational agent must look at: either the target corresponds to an interlocutor, and the behavior engine 14 determines the interlocutor to look at, according to the technique of the intervals of probabilities previously described.
  • This decision is called “Look at the user” later; or the target is arbitrary, and the behavior engine 14 selects a random target in the field of view of the conversational agent.
  • This decision is called “Look_where_where” later; or the target is distinct from one interlocutor, that is to say, the behavior engine 14 chooses as a target a place where it is sure that there are no interlocutors. This decision is called
  • the behavior engine 14 controls the 3D conversational agent according to the state of the conversation and the history of the visual behavior of the agent, so that: - when the state of conversation corresponds to a state of rest, the duration of glances varies between 4 and 6 seconds: o at the beginning of the state of rest, the agent does not carry out any action; o During the "en_cours" sub-state, the agent alternates between
  • the agent does not perform any action; when the conversation state corresponds to a listening state, the duration of the glances varies between 5 and 8 seconds: o at the beginning of the listening state, the agent "Look at the user s"; o During the substage “en_cours” the agent alternates between “Regarde_the_Users” and “Look_nord_where_sauf_ a user "; o At the end of the listening state, the agent does not perform any action; when the state of conversation corresponds to a state of speech emission, the duration of the looks varies between 4 and 6 seconds: o at the beginning of the state of emission of speech, the agent
  • the agent does not perform any action;
  • the duration of the looks varies between 1 and 4 seconds: o
  • the agent At the beginning of the theme state, the agent "Look at the users”; o
  • the agent During the "In_current” subreport, the agent alternates between "Watch_Users” and “Look_anywhere_on_the_user”; o
  • the agent At the end of the theme state, the agent does not perform any action.
  • the invention thus proposes a technique of animation of a three-dimensional agent making it possible to produce the behaviors necessary for a good management of the dialogue.
  • This technique makes it possible to manage correctly the turns of words, and to emphasize the essential elements of the dialogue by looking more or less intensely the interlocutors depending on the semantic content of the conversation (for example, new elements can be highlighted by a brief glance).
  • the invention thus allows a scanning of the gaze of the agent of a main interlocutor to at least one secondary interlocutor, the agent being able to look at the interlocutor for a predetermined time greater than the time during which it looks at the secondary speaker.
  • biological constraints are introduced so as to produce an even more realistic animation of the avatar, in particular by coordinating the head and the eyes in order to recreate the vestibulo ocular reflex.
  • the behavior engine 14 calls a subsystem of automata that makes it possible to enslave the neck and the eyes by modeling the vestibulo ocular reflex.
  • This reflex implies that, the eyes being much faster than the neck, they point first on the target before the head has turned. When the head is facing the target after rotation of the neck, the eyes return to their original position.
  • FIG. 3 thus has a curve 31 illustrating the degree of rotation of the eyes as a function of time, and a curve 32 illustrating the degree of rotation of the neck as a function of time.
  • This phenomenon can be modeled in particular by using different angular velocity curves for the rotation of the eyes 41 and the rotation of the neck 42, as illustrated in FIG. 4. More precisely, these velocity curves make it possible to choose, for the current time step. , an angular velocity (abscissa) as a function of the angular distance (ordinate) remaining to be traveled.
  • the values of the parameters ⁇ , b and c are respectively of the order of 500 degrees -1 , 8 and 1
  • the values of the parameters a, b and c are respectively of the order of 20 deg.s "1 , 6, 1.
  • the animation to be modeled is the positioning of the head of the agent in front of a target
  • the positioning of the eyes of the agent can be considered as a sub-task, and an automaton enslaving the eyes can be called hierarchically by an automaton enslaving the head.
  • an articulated chain representative of the head of the avatar and the articulations between the different elements of the head.
  • This chain comprises at the base a root 51, corresponding for example to the vertebral column, articulated with the neck 52, itself coordinated with the center of the eyes 53, the right eye 54, or the left eye 55.
  • Root 51 base of the articulated chain
  • RhineCou 511 vector connecting the root 51 to the center of rotation of the neck 52;
  • CenterYeuxOeilDroit 531 vector connecting the center of the eyes 53 to the right eye 54;
  • CenterYeuxOeilGauche 532 vector connecting the center of the eyes 53 to the left eye 55; Target 56: position of the target 56; Radius: normalized vector connecting the center of the eyes 53 to the target 56; ⁇ : angle between the vector opposite to CouCentreYeux 521 and the Ray vector; - Coudble: vector connecting the center of rotation of the neck 52 and the target 56.
  • the following is a method for determining the rotation of the neck and rotation of the eyes of an avatar, to animate the agent fluidly and realistically by introducing biological constraints.
  • the rotation of the neck requires moving the facial plane until it is perpendicular to a ray from the center of the eyes towards the target.
  • the initial Coudble vector must be calculated at each instant, since it depends precisely on the distance from the neck 52 to the target 56.
  • the calculation of the CouCible vector is in fact to calculate the modulus of the Ray vector.
  • the CouCible vector can then be constructed by vector addition. More precisely, as illustrated in FIG. 6, the rotation making it possible to transform the starting CouCible vector into a CouCible 'arrival vector corresponds to a composition of rotations P ⁇ and P x , respectively around the axes Oy and Ox', the axis Ox 'being the result of the application of the rotation P ⁇ to the axis Ox.
  • the axis Ox ' being the result of the application of the rotation P ⁇ to the axis Ox.
  • to calculate these rotations P ⁇ and P x is simply performed by projecting the Oxz planes t e ⁇ z CouCible vectors and CouCible.
  • the behavior engine can animate the agent so that his eyes focus first on a selected target, then his entire head rotates, allowing the eyes to return to their original position, starting from these determined rotations and angular velocity curves to simulate human behavior.
  • control of the visual behavior of the conversational agent makes it possible to improve the interactions between the agent and the group of interlocutors, by realistically reproducing the look of real people during a conversation.
  • Such an animation system comprises a memory M 71, a processing unit 70 P, equipped for example with a microprocessor ⁇ P, and driven by the computer program Pg 72.
  • the code instructions of the computer program 72 are for example loaded into a RAM memory before being executed by the processor of the processing unit 70.
  • the processing unit 70 receives as input a piece of information. vision 73, representative of the interlocutors present in the field of view of the agent, and information representative of the content of the conversation 74.
  • the microprocessor ⁇ P of the processing unit 70 implements the steps of the animation method described previously, according to the instructions of the program Pg 72.
  • the processing unit 70 outputs a representation of the conversational agent.

Abstract

The invention concerns a method for animating a three-dimensional conversational agent (15) in a virtual or mixed reality environment, including a step of controlling the visual behaviour of the agent (15), during a conversation with at least two other parties. The invention is characterized in that the controlling step includes a step of selecting a target at which the agent (15) gazes, integrating: at least a history of the visual behaviour, said history incorporating, for at least one of the parties, successive interactions of said agent with said party; and at least one conversational state, called conversational state, the conversational state belonging to a set of states including at least one state of dialogue and one state of rest.

Description

Procédé d'animation d'un agent conversationnel tridimensionnel mettant en œuvre une étape de contrôle du comportement visuel, dispositif et programme d'ordinateur correspondants.A method of animating a three-dimensional conversational agent implementing a visual behavior control step, device and corresponding computer program.
1. Domaine de l'invention Le domaine de l'invention est celui de l'animation d'agents conversationnels tridimensionnels (3D) dans un environnement virtuel ou de réalité mixte.FIELD OF THE INVENTION The field of the invention is that of the animation of three-dimensional conversational agents (3D) in a virtual or mixed reality environment.
On entend notamment par « agent conversationnel tridimensionnel » une représentation tridimensionnelle d'un personnage dans un environnement virtuel. L'invention concerne plus précisément une technique de contrôle du comportement visuel d'un agent conversationnel lors d'une conversation avec plusieurs interlocuteurs, permettant notamment d'améliorer les interactions avec les interlocuteurs.In particular, "three-dimensional conversational agent" refers to a three-dimensional representation of a character in a virtual environment. The invention more specifically relates to a technique for controlling the visual behavior of a conversational agent during a conversation with several interlocutors, notably to improve interaction with the interlocutors.
L'invention s'applique notamment, mais non exclusivement, dans des systèmes de réalité virtuelle dans le cadre de services, de jeux, de forums de discussion, de services ou d'applications de travail collaboratif assisté par ordinateur.The invention applies in particular, but not exclusively, to virtual reality systems in the context of services, games, discussion forums, services or computer-assisted collaborative work applications.
2. Art antérieur2. Prior Art
De nombreuses techniques d'animation d'un avatar, permettant notamment de jouer sur son comportement visuel, sont bien connues.Many techniques of animation of an avatar, allowing in particular to play on his visual behavior, are well known.
Classiquement, ces techniques imposent à l'avatar de regarder tour à tour chacun des interlocuteurs, en fonction d'un système de vision capable de détecter ces interlocuteurs.Classically, these techniques require the avatar to look in turn at each of the interlocutors, according to a vision system capable of detecting these interlocutors.
D'autres études plus récentes ont permis d'observer que le contenu sémantique d'une conversation était également important pour contrôler finement l'asservissement visuel.Other more recent studies have found that the semantic content of a conversation is also important for finely controlling visual servoing.
Ainsi, O. E. Torres, J. Cassel, et S. Prévost, décrivent dans leur article « Modeling Gaze Behavior as a Function of Discourse Structure » (Workshop on Human-Computer Conversations, Bellagio, Italie 1997) une expérience réalisée sur des personnes physiques, filmées en situation de dialogue. Selon cette expérience, il est apparu que la nature d'une proposition, par exemple thématique ou rhématique, avait une influence sur le comportement visuel des personnes physiques.Thus, OE Torres, J. Cassel, and S. Prévost, describe in their article "Modeling Gaze Behavior as a Function of Discourse Structure" (Workshop on Human Computer Conversations, Bellagio, Italy 1997) an experiment carried out on natural persons, filmed in a situation of dialogue. According to this experience, it appeared that the nature of a proposal, for example thematic or rhematic, had an influence on the visual behavior of natural persons.
On rappelle qu'en sémantique, le thème correspond à l'élément d'un énoncé qui est réputé connu par les participants à la conversation (c'est-à-dire qui faite référence à quelque chose de déjà évoqué), et le rhème correspond à l'information nouvelle apportée à l'énoncé.Remember that in semantics, the theme corresponds to the element of an utterance which is known to the participants in the conversation (that is to say, which refers to something already mentioned), and the rheme corresponds to the new information provided to the statement.
Ainsi, cet article suggère de tenir compte du contenu sémantique de la conversation pour animer le regard d'un agent conversationnel tridimensionnel. D'autres techniques d'animation d'un agent conversationnel tridimensionnel dans un environnement virtuel ou de réalité mixte ont également été décrites dans les articles cités en annexe 1, faisant partie intégrante de la présente description.Thus, this article suggests taking into account the semantic content of the conversation to animate the eyes of a three-dimensional conversational agent. Other techniques of animation of a three-dimensional conversational agent in a virtual environment or mixed reality have also been described in the articles cited in Appendix 1, an integral part of this description.
3. Inconvénients de l'art antérieur Les techniques classiques d'animation se basant sur un système de vision capable de détecter les interlocuteurs présents dans le champ de vision de l'avatar sont généralement basiques et peu représentatives du comportement réel d'une personne physique. Elles nuisent donc à l'interactivité entre un agent conversationnel et un utilisateur lors d'un dialogue, du fait de ce manque de réalisme.3. Disadvantages of the Prior Art Conventional animation techniques based on a vision system capable of detecting the interlocutors present in the avatar's field of vision are generally basic and not very representative of the real behavior of a natural person. . They therefore interfere with the interactivity between a conversational agent and a user during a dialogue, because of this lack of realism.
Notamment, ces techniques ne permettent généralement pas de modéliser finement la coordination entre les mouvements de tête et ceux des yeux.In particular, these techniques generally do not allow to model finely the coordination between the movements of head and those of the eyes.
Les techniques d'animation plus récentes, basées sur l'étude du contenu sémantique de la conversation, présentent de meilleurs résultats en termes de modélisation du comportement humain, ce qui donne un rendu plus réaliste lors d'une conversation entre un agent et un utilisateur.More recent animation techniques, based on the study of the semantic content of the conversation, offer better results in terms of modeling human behavior, which gives a more realistic rendering during a conversation between an agent and a user .
Toutefois, ces techniques sont peu développées et n'ont notamment été envisagées que dans le cadre de discussions en tête-à-tête entre un avatar et un interlocuteur. Elles n'apportent ainsi aucune solution au problème du contrôle du comportement visuel d'un avatar qui serait en situation de dialogue avec un groupe de plusieurs utilisateurs (quel interlocuteur regarder, à quel moment, avec quelle insistance, ...).However, these techniques are poorly developed and were only considered in the context of face-to-face discussions between an avatar and an interlocutor. They thus provide no solution to the problem of controlling the visual behavior of an avatar who is in a dialogue with a group of several users (which interlocutor to look at, when, with what insistence, ...).
En d'autres termes, ces techniques ne permettent pas d'améliorer l'interactivité entre les interlocuteurs lors d'une situation de dialogue entre un avatar et un groupe de plusieurs utilisateurs.In other words, these techniques do not make it possible to improve the interactivity between the interlocutors during a dialogue situation between an avatar and a group of several users.
4. Objectifs de l'invention4. Objectives of the invention
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.The invention particularly aims to overcome these disadvantages of the prior art.
Plus précisément, un objectif de l'invention est de fournir une technique d'animation d'un agent conversationnel tridimensionnel lui conférant un mouvement plus réaliste et fluide que les techniques de l'art antérieur, dans le cadre d'une conversation avec plusieurs interlocuteurs.More specifically, an object of the invention is to provide a three-dimensional conversational agent animation technique that gives it a more realistic and fluid movement than the techniques of the prior art, in the context of a conversation with several interlocutors. .
Notamment, un objectif de l'invention est de mettre en œuvre une telle technique permettant de contrôler le comportement visuel d'un agent conversationnel tridimensionnel, dans le cadre d'une telle conversation avec deux ou plus d'interlocuteurs.In particular, an objective of the invention is to implement such a technique for controlling the visual behavior of a three-dimensional conversational agent, in the context of such a conversation with two or more interlocutors.
L'invention a encore pour objectif de proposer une telle technique qui soit efficace, simple à mettre en œuvre et peu coûteuse.The invention also aims to provide such a technique that is effective, simple to implement and inexpensive.
5. Exposé de l'invention Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé d'animation d'un agent conversationnel tridimensionnel dans un environnement virtuel ou de réalité mixte, mettant en œuvre une étape de contrôle du comportement visuel de l'agent, lors d'une conversation avec au moins deux interlocuteurs. Selon l'invention, l'étape de contrôle du comportement visuel met en œuvre une étape de sélection d'une cible que l'agent regarde, tenant compte :5. Objective of the Invention These and other objects which will appear later are achieved by a method of animating a three-dimensional conversational agent in a virtual or mixed-reality environment, implement a step of controlling the visual behavior of the agent, during a conversation with at least two interlocutors. According to the invention, the step of controlling the visual behavior implements a step of selecting a target that the agent looks, taking into account:
- d'au moins un historique du comportement visuel, l'historique tenant compte, pour au moins un des interlocuteurs, des interactions successives de l'agent avec l'interlocuteur ; - et d'au moins un état de la conversation, appelé état de conversation, l'état de conversation appartenant à un ensemble d'états comprenant au moins un état de dialogue et un état de repos.at least one history of the visual behavior, the history taking into account, for at least one of the interlocutors, the successive interactions of the agent with the interlocutor; - and at least one state of the conversation, called conversation state, the conversation state belonging to a set of states comprising at least one dialogue state and a quiescent state.
Ainsi, l'invention propose une approche tout à fait nouvelle et inventive de l'animation d'un agent conversationnel 3D, reposant sur l'utilisation conjointe d'une information représentative d'un état de conversation entre l'agent et au moins deux interlocuteurs, et de son comportement visuel passé, pour sélectionner une cible à regarder, et plus généralement contrôler différents paramètres du comportement visuel de l'agent.Thus, the invention proposes a completely new and inventive approach to the animation of a 3D conversational agent, based on the joint use of information representative of a state of conversation between the agent and at least two interlocutors, and its past visual behavior, to select a target to watch, and more generally control different parameters of the visual behavior of the agent.
Un interlocuteur correspond notamment, dans le cadre de la présente invention, à un utilisateur physique ou à un autre agent conversationnel 3D.In particular, an interlocutor corresponds, in the context of the present invention, to a physical user or another 3D conversational agent.
Ainsi, l'agent conversationnel peut porter son regard, pendant une première durée prédéterminée, sur un interlocuteur principal sélectionné en tenant compte de l'historique du comportement visuel de l'agent et d'un état de la conversation, puis porter son regard sur un second interlocuteur ou sur une cible distincte des interlocuteurs pendant une deuxième durée prédéterminée, la deuxième durée étant inférieure à la première durée. L'agent peut ainsi regarder alternativement l'interlocuteur principal et une cible quelconque.Thus, the conversational agent can look for a predetermined first time on a selected main contact taking into account the history of the agent's visual behavior and a state of the conversation, and then look at a second interlocutor or a separate target interlocutors for a second predetermined duration, the second duration being less than the first duration. The agent can thus alternately look at the main interlocutor and any target.
Le contrôle du comportement visuel de l'agent conversationnel permet alors d'améliorer les interactions entre l'agent et le groupe d'interlocuteurs, puisque l'agent peut, selon l'invention, choisir où porter son regard, en fonction de l'information à faire passer, de l'historique de la conversation, éventuellement de son sujet, etc.Controlling the visual behavior of the conversational agent then makes it possible to improve the interactions between the agent and the group of interlocutors, since the agent can, according to the invention, choose where to look, depending on the information to convey, the history of the conversation, possibly its subject, etc.
Avantageusement, l'étape de sélection tient également compte d'une distance de l'agent à au moins un des interlocuteurs. L'agent peut ainsi déterminer à intervalles de temps réguliers la position de chacun des interlocuteurs, ainsi qu'un espace dans lequel aucun interlocuteur ne se trouve.Advantageously, the selection step also takes into account a distance from the agent to at least one of the interlocutors. The agent can thus determine at regular time intervals the position of each of the interlocutors, as well as a space in which no interlocutor is located.
La prise en compte de la distance de l'avatar à chacun des interlocuteurs permet en effet d'améliorer le réalisme du mouvement de ses yeux, les inventeurs ayant déterminés qu'un tel critère était primordial dans le cadre d'une discussion entre véritables personnes physiques.Taking into account the distance of the avatar to each interlocutor makes it possible to improve the realism of the movement of his eyes, the inventors having determined that such a criterion was essential in the context of a discussion between real people.
De manière préférentielle, lors de l'étape de contrôle, on contrôle au moins un des paramètres du comportement visuel appartenant au groupe comprenant : une fréquence des coups d'œil de l'agent ; - une durée des coups d'œil de l'agent.Preferably, during the control step, at least one of the parameters of the visual behavior belonging to the group comprising: a frequency of the glances of the agent; - a duration of the glances of the agent.
L'invention permet ainsi de créer un canal de communication supplémentaire entre l'agent et les interlocuteurs, puisqu'elle permet de contrôler le regard de l'agent afin que ce dernier regarde un interlocuteur avec plus ou moins d'insistance en fonction par exemple du message qu'il cherche à faire passer, ou qu'il reçoit.The invention thus makes it possible to create an additional communication channel between the agent and the interlocutors, since it makes it possible to control the gaze of the agent so that the latter looks at an interlocutor with more or less insistence depending, for example the message he seeks to convey, or that he receives.
De façon avantageuse, l'historique tient compte pour au moins un des interlocuteurs, d'un temps pendant lequel l'agent a déjà regardé l'interlocuteur, appelé temps de regard.Advantageously, the history takes into account for at least one of the interlocutors, a time during which the agent has already looked at the interlocutor, called watch time.
Ce temps de regard est notamment lié à chaque interlocuteur. L'agent peut ainsi sélectionner l'interlocuteur qu'il va regarder en considérant le temps de regard qu'il lui a déjà accordé, et la distance entre l'interlocuteur et l'agent.This gaze time is particularly related to each interlocutor. The agent can thus select the interlocutor he will look at by considering the look time he has already granted, and the distance between the interlocutor and the agent.
Préférentiellement, lors de l'étape de sélection, on associe à chacun des interlocuteurs un intervalle de probabilités If compris dans l'intervalle [θ,l] , tel que la réunion des intervalles de probabilités If corresponde à l'intervalle [θ,l] , les intervalles de probabilités // étant disjoints.Preferably, during the selection step, each of the interlocutors is associated with an interval of probabilities If included in the interval [θ, l], such that the meeting of the intervals of probabilities If corresponds to the interval [θ, l ], the intervals of probabilities // being disjoint.
Ces intervalles de probabilités // sont notamment déterminés en fonction de la distance de l'interlocuteur i à l'agent, et de l'historique du comportement visuel de l'agent, c'est-à-dire du temps de regard que l'agent a déjà consacré à regarder l'utilisateur i.These intervals of probabilities are determined in particular as a function of the distance of the interlocutor i to the agent, and the history of the visual behavior of the agent, that is to say the viewing time that the agent has already devoted to watching the user i.
De plus, ces intervalles de probabilités sont régulièrement remis à jour (par exemple toutes les 10 ms environ). Ainsi, la position de la cible est régulièrement réévaluée, ce qui permet de contrôler le regard de l'agent en fonction d'un déplacement éventuel de la cible. En particulier, la longueur de l'intervalle de probabilités If associé à l'interlocuteur i est égale à un score de pertinence S/ normalisé, déterminé selon l'équation :Moreover, these intervals of probabilities are regularly updated (for example every 10 ms approximately). Thus, the position of the target is regularly re-evaluated, which makes it possible to control the gaze of the agent according to a possible displacement of the target. In particular, the length of the interval of probabilities associated with the interlocutor i is equal to a score of relevance S / normalized, determined according to the equation:
Figure imgf000008_0001
ou :
Figure imgf000008_0001
or :
Figure imgf000008_0002
Figure imgf000008_0002
Sd1 d.Sd 1 d.
NNOT
Σ J = I", t( ≠ 0 , et St/ = 1 pour t/ = 0 ;
Figure imgf000008_0003
avec : - N le nombre d'interlocuteurs présents dans le champ de vision de l'agent ; d[ la distance entre l'interlocuteur i et l'agent ; t( le temps de regard associé à l'interlocuteur i ; - a ≡ [0,l] , b ≡ [0,l] , a + b = l . Les valeurs a et b permettent notamment de pondérer les valeurs du score
Σ J = I ", t (≠ 0, and St / = 1 for t / = 0;
Figure imgf000008_0003
with: - N the number of interlocutors present in the agent's field of vision; d [the distance between the interlocutor i and the agent; t ( the gaze time associated with the interlocutor i, - a ≡ [0, l], b ≡ [0, l], a + b = 1. The values a and b make it possible in particular to weight the values of the score
Sdi lié à la distance d( , et du score St/ lié au temps de regard t( , et donc d'attribuer plus ou moins d'importance au critère de distance ou de temps de regard.Sdi linked to the distance d (, and the score St / linked to the watch time t (, and therefore to assign more or less importance to the criterion of distance or watch time.
Par exemple, si on choisit a = 0,5 et b = 0,5 , cela signifie qu'on accorde une importance égale au critère de distance et au critère de temps de regard.For example, if we choose a = 0.5 and b = 0.5, this means that the distance criterion and the watch time criterion are given equal importance.
On peut remarquer que lorsque t; = 0 , on a St/ = 1. Par conséquent, lorsqu'un interlocuteur arrive en cours de conversation, son temps de regard est égal à 0, donc son score St/ est élevé, et donc ce nouvel interlocuteur a plus de chance d'être regardé par l'agent conversationnel. De façon préférentielle, lorsque l'état de conversation correspond à l'état de repos, on sélectionne une cible quelconque, et l'étape de contrôle impose à l'agent de jeter un coup d'œil dans la direction de la cible à une fréquence supérieure à un premier seuil prédéterminé. Lorsque l'état de conversation correspond à l'état de dialogue, on sélectionne en alternance une cible correspondant à l'un des interlocuteurs et une cible distincte de chacun des interlocuteurs, et l'étape de contrôle impose à l'agent de jeter un coup d'œil dans la direction de chacune des cibles à une fréquence supérieure à un second seuil prédéterminé.We can notice that when t; = 0, we have St / = 1. Therefore, when a caller arrives during a conversation, his watch time is equal to 0, so his score St / is high, and therefore this new interlocutor is more likely to to be watched by the conversational agent. Preferably, when the state of conversation corresponds to the state of rest, one selects any target, and the control step imposes on the agent to take a look in the direction of the target at a frequency greater than a first predetermined threshold. When the state of conversation corresponds to the state of dialogue, alternately selecting a target corresponding to one of the interlocutors and a separate target of each of the interlocutors, and the control step requires the agent to throw a glance in the direction of each of the targets at a frequency greater than a second predetermined threshold.
Par exemple, dans un état de repos, l'étape de contrôle du comportement visuel de l'avatar impose à ce dernier de jeter des coups d'œil dans une direction aléatoire à une fréquence supérieure à 1 seconde : l'agent peut par exemple regarder le sol pendant 2 secondes, puis regarder un interlocuteur pendant 3 secondes, puis regarder au loin pendant 3 secondes, et regarder de nouveau un interlocuteur pendant 2 secondes, etc.For example, in a state of rest, the step of controlling the visual behavior of the avatar requires the latter to glance in a random direction at a frequency greater than 1 second: the agent can for example look at the floor for 2 seconds, then look at someone for 3 seconds, then look away for 3 seconds, and look at another person for 2 seconds, etc.
Dans un état de dialogue, l'agent peut par exemple regarder le sol pendant 1 seconde, puis regarder un interlocuteur pendant 8 secondes, puis regarder au loin pendant 3 secondes, et regarder de nouveau un interlocuteur pendant 6 secondes, etc.In a dialog state, the agent can, for example, look at the floor for 1 second, then look at an interlocutor for 8 seconds, then look away for 3 seconds, and look at another person for 6 seconds, and so on.
L'agent paraît alors plus attentif lorsque l'état de conversation correspond à un état de dialogue, et regarde plus fréquemment les interlocuteurs. Au contraire, lorsque l'état de conversation correspond à un état de repos, il laisse son regard se poser sur une cible quelconque.The agent then seems more attentive when the state of conversation corresponds to a state of dialogue, and looks more frequently at the interlocutors. On the other hand, when the state of conversation corresponds to a state of rest, it lets its gaze rest on any target.
L'invention permet ainsi d'animer l'avatar, et notamment son regard, de manière très proche de celle du comportement humain.The invention thus makes it possible to animate the avatar, and in particular his gaze, very closely to that of human behavior.
Avantageusement, lorsque l'étape de contrôle impose à l'agent de regarder l'un des interlocuteurs, on effectue un tirage aléatoire d'une valeur comprise dans l'intervalle [θ,l] , et la cible sélectionnée est l'interlocuteur dont l'intervalle de probabilités i associé contient la valeur obtenue par tirage.Advantageously, when the control step requires the agent to look at one of the interlocutors, a random draw of a value in the interval [θ, l] is performed, and the selected target is the interlocutor whose the associated probability interval i contains the value obtained by drawing.
Autrement dit, lorsqu'il faut sélectionner un interlocuteur à regarder parmi le groupe d'interlocuteurs, en fonction de l'état de la conversation, on tire aléatoirement une valeur entre 0 et 1 et on sélectionne l'interlocuteur dont l'intervalle de probabilités associé contient cette valeur : si la valeur 0,5 est tirée, la cible sélectionnée correspond à l'interlocuteur i dont l'intervalle de probabilités i contient la valeur 0,5.In other words, when it is necessary to select an interlocutor to look among the group of interlocutors, according to the state of the conversation, one randomly draws a value between 0 and 1 and one selects the interlocutor whose the associated probability interval contains this value: if the value 0.5 is drawn, the selected target corresponds to the interlocutor i whose probability interval i contains the value 0.5.
De manière préférentielle, lorsque l'état de conversation correspond à l'état de dialogue, l'étape de contrôle tient compte d'une information de dialogue, représentative du contenu sémantique de la conversation, et permet d'augmenter la fréquence des coups d'œil lorsque le contenu sémantique est de type rhème, par rapport à la fréquence lorsque le contenu sémantique est de type thème.Preferably, when the conversation state corresponds to the dialogue state, the control step takes into account a dialogue information, representative of the semantic content of the conversation, and makes it possible to increase the frequency of the hits. 'eye when the semantic content is of type rheme, with respect to the frequency when the semantic content is of type theme.
Par exemple, au moins en début d'un état de rhème (correspondant à l'émission ou à l'écoute d'une proposition comportant un élément nouveau), l'agent peut jeter un premier coup d'œil vers l'interlocuteur qui l'écoute, ou qui a parlé, puis jeter de brefs coups d'œil intermittents (inférieurs à une seconde) à cet interlocuteur.For example, at least at the beginning of a rheme state (corresponding to the transmission or listening of a proposal containing a new element), the agent can take a first look at the interlocutor who listening, or speaking, and then glancing intermittently (less than a second) to this interlocutor.
Au contraire, dans un état de thème (correspondant à l'émission ou à l'écoute d'une proposition faisant référence à un élément déjà évoqué), l'agent peut jeter des coups d'œil intermittents vers l'interlocuteur et vers un endroit où ne se trouve aucun interlocuteur à une fréquence supérieure à une seconde.On the other hand, in a state of a theme (corresponding to the emission or listening of a proposition referring to an element already mentioned), the agent can glance intermittently towards the interlocutor and towards a where there is no party at a frequency greater than one second.
L'invention concerne également un dispositif d'animation d'un agent conversationnel tridimensionnel dans un environnement virtuel ou de réalité mixte, comprenant des moyens de contrôle du comportement visuel de l'agent, lors d'une conversation avec au moins deux interlocuteurs.The invention also relates to a device for animating a three-dimensional conversational agent in a virtual environment or mixed reality, comprising means for controlling the visual behavior of the agent during a conversation with at least two interlocutors.
Selon l'invention, les moyens de contrôle comprennent des moyens de sélection d'une cible que l'agent regarde, à partir :According to the invention, the control means comprise means for selecting a target that the agent looks from:
- d'au moins un historique du comportement visuel, l'historique tenant compte, pour au moins un des interlocuteurs, des interactions successives de l'agent avec l'interlocuteur ;at least one history of the visual behavior, the history taking into account, for at least one of the interlocutors, the successive interactions of the agent with the interlocutor;
- et d'au moins un état de la conversation, l'état de conversation appartenant à un ensemble d'états comprenant au moins un état de dialogue et un état de repos. L'invention concerne finalement un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, comprenant des instructions de code de programme pour la mise en œuvre des étapes du procédé d'animation d'un agent conversationnel tridimensionnel décrit précédemment. 6. Liste des figuresand at least one state of the conversation, the conversation state belonging to a set of states comprising at least one dialogue state and a state of rest. The invention finally relates to a computer program product downloadable from a communication network and / or stored on a computer-readable and / or executable medium by a microprocessor, comprising program code instructions for carrying out the steps of the method of animation of a three-dimensional conversational agent described previously. 6. List of figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : - la figure 1 présente un dispositif d'animation d'un agent conversationnel tridimensionnel selon un mode de réalisation préférentiel de l'invention ; la figure 2 illustre les différents états de conversation du dispositif selon la figure 1 ; la figure 3 décrit le principe du réflexe vestibulo-oculaire ; - la figure 4 représente les courbes de vitesse angulaire utilisées selon l'invention pour modéliser la rotation des yeux et du cou d'un agent conversationnel ; la figure 5 illustre les mouvements du cou et des yeux de l'agent à partir d'une chaîne articulée ; - la figure 6 présente les techniques de rotation appliquées au cou et aux yeux de l'agent ; la figure 7 présente la structure d'un système d'animation d'un agent conversationnel tridimensionnel selon l'invention.Other features and advantages of the invention will appear more clearly on reading the following description of a preferred embodiment, given as a simple illustrative and nonlimiting example, and the appended drawings, among which: FIG. 1 shows a device for animating a three-dimensional conversational agent according to a preferred embodiment of the invention; FIG. 2 illustrates the different states of conversation of the device according to FIG. 1; Figure 3 describes the principle of the vestibulo-ocular reflex; FIG. 4 represents the angular velocity curves used according to the invention for modeling the rotation of the eyes and the neck of a conversational agent; Figure 5 illustrates the movements of the neck and eyes of the agent from an articulated chain; - Figure 6 shows the rotation techniques applied to the neck and eyes of the agent; Figure 7 shows the structure of an animation system of a three-dimensional conversational agent according to the invention.
7. Description d'un mode de réalisation de l'invention Le principe général de l'invention repose sur l'utilisation conjointe d'une information représentative d'un état de conversation entre un agent conversationnel tridimensionnel (3D) et au moins deux interlocuteurs, et d'un historique du comportement visuel de l'agent au cours de la conversation, pour sélectionner une cible que l'agent doit regarder et contrôler son regard, de façon à animer l'agent de manière plus réaliste. En particulier, on considère que l'historique du comportement visuel de l'agent tient compte, pour au moins un des interlocuteurs, des interactions successives de l'agent avec l'interlocuteur.7. DESCRIPTION OF AN EMBODIMENT OF THE INVENTION The general principle of the invention is based on the joint use of information representative of a state of conversation between a three-dimensional conversational agent (3D) and at least two interlocutors. , and a history of the agent's visual behavior during the conversation, to select a target that the agent must look at and control his gaze, in order to animate the agent more realistically. In particular, it is considered that the history of the visual behavior of the agent takes into account, for at least one of the interlocutors, successive interactions of the agent with the interlocutor.
Plus précisément, un tel agent conversationnel 3D peut dialoguer avec des utilisateurs réels et/ou d'autres agents conversationnels, appelés par la suite interlocuteurs.Specifically, such a 3D conversational agent can interact with real users and / or other conversational agents, subsequently called interlocutors.
La modélisation fine du comportement visuel de l'agent conversationnel permet ainsi d'améliorer les interactions avec les interlocuteurs, puisque l'agent peut, selon l'invention, choisir où porter son regard, en fonction de l'information à faire passer, créant alors un canal de communication supplémentaire.Fine modeling of the visual behavior of the conversational agent thus makes it possible to improve the interactions with the interlocutors, since the agent can, according to the invention, choose where to look, depending on the information to be passed, creating then an additional communication channel.
On présente, en relation avec la figure 1, un mode de réalisation préférentiel de l'invention selon lequel un agent conversationnel 3D 15 discute avec au moins deux interlocuteurs, et dans lequel un équipement vidéo 11, de type caméra numérique (« webcaméra »), transmet à un système de vision 12 des informations relatives aux interlocuteurs situés dans le champ de vision de l'agent 15.With reference to FIG. 1, a preferred embodiment of the invention is presented according to which a 3D conversational agent 15 discusses with at least two interlocutors, and in which video equipment 11, of digital camera type ("webcam") , transmits to a vision system 12 information relating to the interlocutors located in the field of view of the agent 15.
Selon ce mode de réalisation, le comportement de l'agent 15 est contrôlé par un module de comportement 14, alimenté par le système de vision 12 et un système de dialogue 13. Le système de vision 12 permet notamment de détecter et de déterminer la position réelle des interlocuteurs dans le champ de vision de l'agent 15, et de calculer la distance de chacun des N interlocuteurs à l'agent 15, par exemple en se basant sur une calibration sommaire prenant en compte les paramètres de l'équipement vidéo 11 et la taille moyenne d'une tête. Notamment, ce système de vision 12 peut détecter le visage des interlocuteurs dans les images issues de l'équipement vidéo 11 et identifier ainsi les interlocuteurs, selon des techniques de détection de visages connues, qui ne font pas l'objet de la présente invention et ne sont donc pas décrites ici plus en détail. Pour plus d'informations, on pourra notamment se référer à la demande de brevet français FR 05 03047 au nom des mêmes déposants que la présente demande de brevet.According to this embodiment, the behavior of the agent 15 is controlled by a behavior module 14, powered by the vision system 12 and a dialogue system 13. The vision system 12 allows in particular to detect and determine the position actual interlocutors in the field of view of the agent 15, and calculate the distance of each of the N interlocutors to the agent 15, for example based on a summary calibration taking into account the parameters of the video equipment 11 and the average size of a head. In particular, this vision system 12 can detect the face of the interlocutors in the images from the video equipment 11 and thus identify the interlocutors, according to known face detection techniques, which are not the subject of the present invention and are not described here in more detail. For more information, it may in particular refer to the French patent application FR 05 03047 in the name of the same applicants as the present patent application.
Le système de dialogue 13 fournit quant à lui au moteur de comportement 14 des indications sur l'état actuel de la conversation, à savoir un état de repos ou un état de dialogue. Plus précisément, l'état de dialogue correspond soit à un état d'émission de parole, selon lequel l'agent parle avec les interlocuteurs, soit à un état d'écoute, selon lequel l'agent écoute au moins un interlocuteur.The dialogue system 13 provides for the behavior engine 14 indications on the current state of the conversation, namely a state of rest or a state of dialogue. More precisely, the dialogue state corresponds either to a speech transmission state, in which the agent speaks with the interlocutors, or to a listening state, according to which the agent listens to at least one interlocutor.
Le système de dialogue 13 permet également de déterminer une information de dialogue représentative du contenu sémantique de la conversation. Ainsi, cette information sémantique informe le moteur de comportement 14 si les paroles émises par l'agent 15, ou par un des interlocuteurs, sont de type thème ou rhème.The dialogue system 13 also makes it possible to determine dialogue information representative of the semantic content of the conversation. Thus, this semantic information informs the behavior engine 14 if the words spoken by the agent 15, or by one of the interlocutors, are of type theme or rheme.
On rappelle que le thème correspond à un élément d'une proposition qui fait référence à quelque chose qui a déjà été évoqué, tandis que le rhème correspond à l'élément nouveau d'une proposition.It is recalled that the theme corresponds to an element of a proposition that refers to something that has already been mentioned, while the rheme corresponds to the new element of a proposition.
A nouveau, le principe de fonctionnement d'un tel système de dialogue 13 est connu, et notamment décrit par D. Sadek, P. Bretier, et F. Panaget, dans le document « ARTIMIS: Natural dialogue meets rational agency » (Proceedings of the 15th International Joint Conférence on Artificial Intelligence, Nagoya, Japon, 1997), et n'est donc pas décrit ici plus en détailAgain, the operating principle of such a dialogue system 13 is known, and in particular described by D. Sadek, P. Bretier, and F. Panaget, in the document "ARTIMIS: Natural dialogue meets rational agency" (Proceedings of the 15th International Joint Conference on Artificial Intelligence, Nagoya, Japan, 1997), and is therefore not described here in more detail
Le moteur de comportement 14 tient ainsi compte, selon le mode de réalisation préférentiel de l'invention, de ces informations du système de vision 12 et du système de dialogue 13 pour animer l'agent 15, et notamment son regard.The behavior engine 14 thus takes into account, according to the preferred embodiment of the invention, this information of the vision system 12 and the dialogue system 13 to animate the agent 15, including his gaze.
Plus précisément, lorsque l'agent 15 discute avec un groupe d'interlocuteurs, il doit sélectionner la cible qu'il doit regarder au cours de la conversation. Selon l'invention, cette sélection se fait en fonction de l'état de la conversation et d'un historique du comportement visuel de l'agent, l'historique tenant compte, pour au moins un des interlocuteurs, des interactions successives de l'agent avec l'interlocuteur. On peut notamment remarquer que cet historique du comportement visuel prend en compte toute la durée d'une conversation avec un groupe d'interlocuteurs, depuis son commencement.Specifically, when the agent is chatting with a group of interlocutors, he must select the target he is to watch during the conversation. According to the invention, this selection is made according to the state of the conversation and a history of the visual behavior of the agent, the history taking into account, for at least one of the interlocutors, successive interactions of the agent with the interlocutor. We can notably notice that this history of visual behavior takes into account the duration of a conversation with a group of interlocutors since its inception.
En effet, si l'invention est mise en œuvre dans une borne interactive par exemple, les interlocuteurs dialoguant avec l'agent sont amenés à changer régulièrement, ce qui réinitialise l'historique du comportement visuel.Indeed, if the invention is implemented in an interactive terminal, for example, interlocutors interacting with the agent are required to change regularly, which resets the history of visual behavior.
Plus précisément, selon un exemple de réalisation, le système de vision 12 détecte les interlocuteurs présents dans le champ de vision de l'agent 15, et attribue un identifiant à chacun d'entre eux. Le moteur de comportement 14 conserve notamment l'historique du comportement de chaque interlocuteur i et lui attribue un « âge ». Lorsque l'interlocuteur i entre dans le champ de vision de l'agent, on peut considérer qu'il n'y a pas d'historique du comportement visuel lié à cet utilisateur (le temps de regard attribué à l'interlocuteur i est donc nul et le moteur de comportement lui attribue un âge égal à 0). A chaque fois que le système de vision 12 envoie la liste des interlocuteurs détectés au moteur de comportement 14, ce dernier remet à « 0 » l'âge des interlocuteurs détectés, et fait vieillir les autres, c'est-à-dire incrémente leur âge d'une unité. Ainsi, les interlocuteurs qui restent dans le champ de vision de l'avatar conservent un âge égal à « 0 », tandis que les interlocuteurs qui ne sont plus dans le champ de vision de l'avatar vieillissent, c'est-à-dire ont un âge supérieur à 0. Lorsqu'un interlocuteur a un âge supérieur à n après n itérations (avec n=10 par exemple), l'historique du comportement visuel lié à cet interlocuteur est détruit. Ainsi, si un interlocuteur sort pendant quelques instants du champ de vision de l'agent, l'historique lié à cet interlocuteur i n'est pas réinitialisé instantanément, mais conservé quelques secondes (correspondant à n itérations, ou à n détections du système de vision 12).More specifically, according to an exemplary embodiment, the vision system 12 detects the interlocutors present in the field of view of the agent 15, and assigns an identifier to each of them. The behavior engine 14 keeps in particular the history of the behavior of each interlocutor i and assigns him an "age". When the interlocutor i enters the field of vision of the agent, it can be considered that there is no history of the visual behavior related to this user (the time of look attributed to the interlocutor i is therefore null and the behavior engine gives it an age equal to 0). Whenever the vision system 12 sends the list of the detected interlocutors to the behavior engine 14, the latter sets the age of the detected interlocutors at "0", and makes the others age, that is to say, increments their age of one unit. Thus, the interlocutors who remain in the field of vision of the avatar retain an age equal to "0", while the interlocutors who are no longer in the avatar's field of vision are aging, that is to say have an age greater than 0. When an interlocutor has an age greater than n after n iterations (with n = 10 for example), the history of the visual behavior related to this interlocutor is destroyed. Thus, if an interlocutor leaves for a few moments of the field of vision of the agent, the history related to this interlocutor i is not reset instantly, but kept a few seconds (corresponding to n iterations, or n detections of the system of vision 12).
Donc, si l'interlocuteur i revient dans le champ de vision de l'agent après quelques instants d'absence, l'historique du comportement visuel lié à cet interlocuteur sera conservé. Par contre, s'il sort pendant une durée plus importante du champ de vision de l'avatar, l'historique du comportement visuel lié à cet interlocuteur est détruit. Selon une variante de réalisation, on peut également considérer que l'historique ne prend en compte que les cinq dernières minutes de la conversation.Thus, if the interlocutor i returns to the field of view of the agent after a few moments of absence, the history of the visual behavior related to this interlocutor will be preserved. On the other hand, if it leaves during a more important duration of the field of vision of the avatar, the history of the visual behavior related to this interlocutor is destroyed. According to an alternative embodiment, it can also be considered that the history only takes into account the last five minutes of the conversation.
Notamment, lorsque l'état de conversation correspond à un état de repos, l'agent regarde alternativement au moins un interlocuteur, puis une cible quelconque. La cible quelconque est notamment choisie au hasard dans l'espace devant l'agent. En effet, dans un tel état de repos, il est naturel de laisser son regard errer sur les différents éléments de la scène.In particular, when the conversation state corresponds to a state of rest, the agent alternately looks at at least one interlocutor, then any target. Any target is chosen at random in the space in front of the agent. Indeed, in such a state of rest, it is natural to let his eyes wander over the various elements of the scene.
Lorsque l'état de conversation correspond à un état de dialogue, l'agent regarde alternativement au moins un interlocuteur, puis une cible distincte de chacun des interlocuteurs.When the conversation state corresponds to a dialogue state, the agent alternately looks at at least one interlocutor and then a separate target of each of the interlocutors.
Plus précisément, lorsque l'étape de contrôle impose à l'agent de regarder un des interlocuteurs, on effectue un tirage aléatoire d'une valeur comprise dans l'intervalle [θ,l] , et on sélectionne l'interlocuteur correspondant à la valeur tirée.More precisely, when the control step requires the agent to look at one of the interlocutors, a random draw of a value in the interval [θ, l] is performed, and the interlocutor corresponding to the value is selected. drawn.
Pour ce faire, on associe à chaque interlocuteur i un intervalle de probabilités // compris dans l'intervalle [θ,l] , tel que la réunion de tous les intervalles de probabilités // corresponde à l'intervalle [θ,l] , les intervalles de probabilités // étant disjoints.To do this, we associate to each interlocutor i an interval of probabilities // included in the interval [θ, l], such that the union of all the intervals of probabilities // corresponds to the interval [θ, l], the intervals of probabilities // being disjoint.
La longueur de l'intervalle de probabilités // associé à l'interlocuteur i est égale à un score de pertinence Sf normalisé, déterminé par le moteur de comportement 14 et attribué à chacun des N interlocuteurs présents dans le champ de vision de l'avatar.The length of the interval of probabilities // associated with the interlocutor i is equal to a score of relevance Sf normalized, determined by the behavior engine 14 and assigned to each of the N interlocutors present in the field of vision of the avatar .
Ces scores de pertinence dépendent notamment de la distance de l'interlocuteur i à l'agent 15, et de l'historique du comportement visuel de l'agent, c'est-à-dire du temps de regard que l'agent 15 a déjà consacré à regarder l'utilisateur i.These scores of relevance depend in particular on the distance of the interlocutor i to the agent 15, and on the history of the visual behavior of the agent, that is to say on the viewing time that the agent 15 has. already devoted to watching the user i.
En particulier, ce score de pertinence peut être calculé de la manière suivante, pour chaque interlocuteur i parmi le groupe de N interlocuteurs :In particular, this relevance score can be calculated in the following manner, for each interlocutor i among the group of N interlocutors:
Sd, = -^Sd, = - ^
J = I St1 = -^ r —1 pour t/ ≠ 0 , et St/ = 1 pour t/ = 0 ;J = I St 1 = - ^ r - 1 for t / ≠ 0, and St / = 1 for t / = 0;
J = I avec :J = I with:
J/ la distance entre l'interlocuteur i et l'agent ; Sdi le score lié à cette distance ; - t/ le temps de regard déjà attribué à l'interlocuteur i ;J / the distance between the interlocutor i and the agent; Sdi the score related to this distance; - t / the glancing time already assigned to the interlocutor i;
St; le score lié à ce temps ;St; the score related to this time;
N le nombre d'interlocuteurs présents dans le champ de vision de l'agent au moment de l'évaluation.N the number of interlocutors present in the agent's field of vision at the time of the evaluation.
Le score total S; est ensuite calculé simplement en pondérant les deux scores SJ/ et St/ , en fonction des valeurs a et b, suivant l'importance relative entre le temps de regard et la distance, puis est normalisé : σ _ a.Sdι + b.Stι - _ S1 The total score S; is then calculated simply by weighting the two scores SJ / and St /, according to the values a and b, according to the relative importance between the look time and the distance, then is standardized: σ _ a.Sd ι + b. St ι - _ S 1
J = I avec α e [θ,l] , έ> e [θ,l] , et a + b = l .J = I with α e [θ, l], έ> e [θ, l], and a + b = 1.
Autrement dit, les valeurs a et b permettent d'attribuer plus ou moins d'importance au critère de temps de regard ou de distance. On peut choisir par exemple a = 0,5 et b = 0,5 , ce qui signifie qu'on accorde une importance égale aux deux critères.In other words, the values a and b make it possible to attribute more or less importance to the criterion of viewing time or distance. We can choose for example a = 0.5 and b = 0.5, which means that we give equal importance to both criteria.
Si l'on veut accorder plus d'importance aux positions relatives des interlocuteurs les uns par rapport aux autres et par rapport à l'agent (par exemple en cas d'un groupe d'interlocuteurs nombreux), on augmente la valeur de a, au détriment de la valeur de b.If we want to give more importance to the relative positions of the interlocutors with respect to each other and with respect to the agent (for example in the case of a large group of interlocutors), we increase the value of a, at the expense of the value of b.
On remarque notamment que lorsque t/ = 0 , on a St/ = 1. Par conséquent, lorsqu'un interlocuteur arrive en cours de conversation, son score St/ est élevé, et ce nouvel interlocuteur a plus de chance d'être regardé par l'agent conversationnel.We note in particular that when t / = 0, we have St / = 1. Therefore, when an interlocutor arrives during a conversation, his score St / is high, and this new interlocutor is more likely to be watched by the conversational agent.
Les différents intervalles de probabilités associés à chacun des interlocuteurs i peuvent notamment être déterminés selon l'algorithme suivant : BorneMin=0The different intervals of probabilities associated with each of the interlocutors i may in particular be determined according to the following algorithm: MinValue = 0
Pour chaque utilisateur iFor each user i
BOrHeMm1 = BorneMinBOrHeMm 1 = BorneMin
BorneMaxt = BOrHeMm1 + S1 TerminalMax t = BOrHeMm 1 + S 1
BorneMin = BorneMaxt Fin pourTerminalMin = TerminalMax t End for
Par exemple, si l'interlocuteur i a été regardé pendant 4 secondes ( t( = 4 ) et l'interlocuteur j a été regardé pendant 2 secondes ( t ; = 2 ), considérant que les interlocuteurs i et j sont exactement à la même distance ( dι = d , ), on obtient :For example, if the caller was watched for 4 seconds (t ( = 4) and the caller was watched for 2 seconds (t; = 2), considering that the callers i and j are exactly the same distance ( d ι = d,), we obtain:
Sώ ' = -9 , Suι = ±-o ,, SSijι == 00A,422 ,, SSddj J j == ±- 9 ,, SSttJ J j == I- -> , S J1 = 0,58 , avec a = b = 0,5.Sώ '= -9, Su = ι ι ± -o ,, SSij == 00A, 422 ,, SSDD j J j == ± - 9 ,, SSttJ J j == I- ->, SJ 1 = 0.58 with a = b = 0.5.
L'intervalle de probabilités de l'interlocuteur i ainsi déterminé est l'intervalle I1 = [θ;O,42[ et l'intervalle de probabilités de l'interlocuteur j est l'intervalle /;- = [θ,42;l] .The interval of probabilities of the interlocutor i thus determined is the interval I 1 = [θ; O, 42 [and the interval of probabilities of the interlocutor j is the interval / ; - = [θ, 42; l].
On peut notamment remarquer que ces intervalles de probabilités sont constamment remis à jour (par exemple toutes les 10 ms environ).It can notably be noted that these intervals of probabilities are constantly updated (for example every 10 ms approximately).
Ainsi, la position de la cible est réévaluée régulièrement, ce qui permet de contrôler le regard de l'agent en fonction d'un déplacement éventuel de la cible, et accroît encore le réalisme de son comportement visuel.Thus, the position of the target is reevaluated regularly, which allows to control the gaze of the agent according to a possible movement of the target, and further increases the realism of its visual behavior.
Comme indiqué précédemment, lorsqu'il faut choisir un des interlocuteurs à regarder en fonction de l'état de la conversation, on tire aléatoirement une valeur entre 0 et 1 et on sélectionne l'interlocuteur dont l'intervalle de probabilités associé contient cette valeur.As indicated above, when it is necessary to choose one of the interlocutors to look at according to the state of the conversation, one randomly draws a value between 0 and 1 and selects the interlocutor whose associated probability interval contains this value.
Dans l'exemple précédent, si la valeur 0,5 est tirée, la cible sélectionnée correspond à l'interlocuteur j dont l'intervalle de probabilités / , = [θ,42;l] contient la valeur 0,5.In the previous example, if the value 0.5 is drawn, the selected target corresponds to the interlocutor j whose probability interval /, = [θ, 42; l] contains the value 0.5.
Lorsque l'étape de contrôle du comportement visuel impose à l'agent de regarder une cible distincte de chacun des interlocuteurs, c'est-à-dire de regarder un endroit où il est sûr qu'il n'y a pas d'interlocuteurs, une cible quelconque est sélectionnée au cours de l'étape de sélection, puis un contrôle est mis en œuvre pour vérifier que cette cible est suffisamment éloignée de chacun des interlocuteurs pris un par un.When the visual behavior control step requires the agent to look at a different target of each of the interlocutors, ie to look at a place where he is sure there are no interlocutors , any target is selected during the selection step, then a check is made to verify that this target is sufficiently far from each of the interlocutors taken one by one.
Si ce critère n'est pas respecté, une nouvelle cible est sélectionnée, et le contrôle du critère d'éloignement est de nouveau mis en œuvre, jusqu'à ce que ce critère soit respecté. Pour ce faire, le moteur de comportement peut par exemple mettre en œuvre l'algorithme suivant : Trouvé = faux Tant que pas trouvéIf this criterion is not respected, a new target is selected, and the control of the distance criterion is again implemented, until this criterion is respected. To do this, the behavior engine can for example implement the following algorithm: Found = false As long as not found
Cible = tirer une cible aléatoirement Suffisament_loin = vraiTarget = draw a target randomly Suffisament_loin = true
Pour chaque utilisateur iFor each user i
Si distance( cible, i) < DistanceMinIf distance (target, i) <DistanceMin
Sujfisament_loin = faux Finsi Fin pourSujfisament_loin = false Finsi Fin for
Si sufβsament_loin = vraiIf sufβsament_loin = true
Trouvé = vrai Fin siFound = true End if
Fin tant que Par ailleurs, lorsque l'état de la conversation correspond à un état de dialogue, l'étape de contrôle du comportement visuel de l'agent conversationnel tient compte d'une information de dialogue représentative du contenu sémantique de la conversation, et permet d'augmenter la fréquence des regards vers un interlocuteur lorsque le contenu sémantique est de type rhème, par rapport à la fréquence lorsque le contenu sémantique est de type thème. Ainsi, selon un exemple de réalisation de l'invention : lorsque l'état de conversation est un état de repos, l'agent conversationnel jette des coups d'œil dans une direction aléatoire à une fréquence supérieure à une seconde ; - lorsque l'état de conversation est un état de dialogue correspondant à un état d'écoute, l'agent jette des coups d'œil intermittents vers l'interlocuteur et vers un endroit où ne se trouve aucun interlocuteur à une fréquence supérieure à une seconde ; lorsque l'état de conversation est un état de dialogue correspondant à un état d'émission de parole, l'agent jette des coups d'œil intermittents vers l'interlocuteur et vers un endroit où ne se trouve aucun interlocuteur. Plus précisément, au moins en début d'un état de rhèmeAs long as Moreover, when the state of the conversation corresponds to a state of dialogue, the step of controlling the visual behavior of the conversational agent takes into account a dialogue information representative of the semantic content of the conversation, and allows to increase the frequency of the glances towards a interlocutor when the semantic content is of rheme type, compared to the frequency when the semantic content is of type theme. Thus, according to an exemplary embodiment of the invention: when the conversation state is a state of rest, the conversational agent glances in a random direction at a frequency greater than one second; - when the conversation state is a dialog state corresponding to a listening state, the agent throws intermittent glances towards the interlocutor and to a place where there is no interlocutor at a frequency greater than one second; when the conversation state is a dialog state corresponding to a speech transmission state, the agent pauses intermittently to the other party and to a place where there is no other party. More precisely, at least at the beginning of a rheme state
(correspondant à l'émission d'une proposition comportant un élément nouveau), l'agent jette un coup d'œil vers l'interlocuteur suivi de coups d'œil intermittents rapprochés (inférieurs à une seconde) vers l'interlocuteur, et dans un état de thème (correspondant à l'émission d'une proposition faisant référence à un élément déjà évoqué) l'agent jette des coups d'œil intermittents vers l'interlocuteur et vers un endroit où ne se trouve aucun interlocuteur à une fréquence supérieure à une seconde.(corresponding to the issuing of a proposal containing a new element), the agent glances at the interlocutor followed by intermittent glances close (less than one second) to the interlocutor, and in a theme state (corresponding to the issuing of a proposal referring to an element already mentioned) the agent throws intermittent glances towards the interlocutor and to a place where there is no interlocutor at a higher frequency to a second.
On peut ainsi considérer qu'il existe cinq états de conversation, en comptant les sous-états de l'état de dialogue : état de repos, état d'émission de parole, état d'écoute, état de thème et état de rhème.One can thus consider that there are five states of conversation, by counting the substates of the state of dialogue: state of rest, state of emission of speech, state of listening, state of theme and state of rheme.
Ces cinq états peuvent notamment être décomposés en sous-états correspondant au début de l'état, à l'état courant, et à la fin de l'état. Ces sous-états sont ainsi :These five states can in particular be decomposed into sub-states corresponding to the beginning of the state, to the current state, and to the end of the state. These substates are as follows:
Début : le dispositif « entre » dans l'état, c'est-à-dire par exemple qu'il passe d'un état de repos à un état de dialogue. Il doit alors souvent effectuer une tâche particulière ; - En_cours : le dispositif « itère » dans l'état, prenant à chaque fois une nouvelle décision ;Start: the device "enters" into the state, that is to say for example that it goes from a state of rest to a state of dialogue. He must often perform a particular task; - In_cours: the device "iterate" in the state, each time taking a new decision;
Fin : le dispositif « sort » de l'état, c'est-à-dire retourne par exemple d'un état de dialogue à un état de repos.End: the device "exits" from the state, that is to say returns for example from a state of dialogue to a state of rest.
Comme illustré en figure 2, le moteur de comportement 14 peut ainsi être réalisé sous la forme d'un automate qui prend à chaque fois une décision lorsqu'il entre dans un état, parmi les états d'écoute 21, de repos 22, d'émission de parole 23, de rhème 24 ou de thème 25, chaque état étant décomposé en trois sous-états début 221, en_cours 222, et fin 223.As illustrated in FIG. 2, the behavior engine 14 can thus be realized in the form of a controller that makes a decision every time when enters a state, among the listening states 21, rest 22, speech transmission 23, rheme 24 or theme 25, each state being decomposed into three sub-states beginning 221, en_cours 222, and end 223 .
Comme décrit précédemment, cette décision correspond à la sélection d'une cible que l'agent conversationnel doit regarder : soit la cible correspond à un interlocuteur, et le moteur de comportement 14 détermine l'interlocuteur à regarder, selon la technique des intervalles de probabilités décrite précédemment. On appelle cette décision « Regarde _les_utilisateur s » par la suite ; - soit la cible est quelconque, et le moteur de comportement 14 choisit une cible au hasard dans le champ de vision de l'agent conversationnel. On appelle cette décision « Regarde _n_importe_où » par la suite ; soit la cible est distincte d'un interlocuteur, c'est-à-dire que le moteur de comportement 14 choisit comme cible un endroit où il est sûr qu'il n'y a pas d'interlocuteurs. On appelle cette décisionAs described above, this decision corresponds to the selection of a target that the conversational agent must look at: either the target corresponds to an interlocutor, and the behavior engine 14 determines the interlocutor to look at, according to the technique of the intervals of probabilities previously described. This decision is called "Look at the user" later; or the target is arbitrary, and the behavior engine 14 selects a random target in the field of view of the conversational agent. This decision is called "Look_where_where" later; or the target is distinct from one interlocutor, that is to say, the behavior engine 14 chooses as a target a place where it is sure that there are no interlocutors. This decision is called
« Regarde _n_importe_où_sauf_un_utilisateur » par la suite. Ainsi, selon un exemple de réalisation de l'invention, le moteur de comportement 14 contrôle l'agent conversationnel 3D suivant l'état de la conversation et l'historique du comportement visuel de l'agent, de sorte que : - lorsque l'état de conversation correspond à un état de repos, la durée des regards varie entre 4 et 6 secondes : o au début de l'état de repos, l'agent ne réalise aucune action ; o pendant le sous-état « en_cours », l'agent alterne entre"Look_any_where_on_using_one_user" thereafter. Thus, according to an exemplary embodiment of the invention, the behavior engine 14 controls the 3D conversational agent according to the state of the conversation and the history of the visual behavior of the agent, so that: - when the state of conversation corresponds to a state of rest, the duration of glances varies between 4 and 6 seconds: o at the beginning of the state of rest, the agent does not carry out any action; o During the "en_cours" sub-state, the agent alternates between
« Regarde _les_utilisateurs » et « Regarde _n_importe_où » ; o à la fin de l'état de repos, l'agent ne réalise aucune action ; lorsque l'état de conversation correspond à un état d'écoute, la durée des regards varie entre 5 et 8 secondes : o au début de l'état d'écoute, l'agent « Regarde _les_utilisateur s » ; o pendant le sous-état « en_cours » l'agent alterne entre « Regarde _les_utilisateurs » et « Regarde _n_importe_où_sauf_ unjutilisateur » ; o à la fin de l'état d'écoute, l'agent ne réalise aucune action ; lorsque l'état de conversation correspond à un état d'émission de parole, la durée des regards varie entre 4 et 6 secondes : o au début de l'état d'émission de parole, l'agent"Look at the users" and "Look at anywhere"; o at the end of the state of rest, the agent does not perform any action; when the conversation state corresponds to a listening state, the duration of the glances varies between 5 and 8 seconds: o at the beginning of the listening state, the agent "Look at the user s"; o During the substage "en_cours" the agent alternates between "Regarde_the_Users" and "Look_nord_where_sauf_ a user "; o At the end of the listening state, the agent does not perform any action; when the state of conversation corresponds to a state of speech emission, the duration of the looks varies between 4 and 6 seconds: o at the beginning of the state of emission of speech, the agent
« Regarde _les_utilisateurs » ; o pendant le sous-état « en cours », l'agent alterne entre « Regarde _les_utilisateur s » et « Regarde _n_importe_où_sauf_un jutilisateur » ; o à la fin de l'état d'émission de parole, l'agent « Regarde_n"Look at the users"; o During the "in progress" subreport, the agent alternates between "Look at the user" and "Look at any_where_not_a user"; o At the end of the speech transmission state, the agent "Regarde_n
_importe_où_sauf_un_utilisateur » ; lorsque l'état de conversation correspond à un état de rhème, la durée des regards varie entre 0,5 et 1 seconde : o au début de l'état de rhème, l'agent ne réalise aucune action ; o pendant le sous-état « en_cours », l'agent alterne entre_anywhere_not_a_user "; when the state of conversation corresponds to a state of rheme, the duration of the glances varies between 0,5 and 1 second: o at the beginning of the state of rheme, the agent does not carry out any action; o During the "en_cours" sub-state, the agent alternates between
« Regarde _les jutilisateur s » et « Regarde _n_importe_où_sauf_un jutilisateur » ; o à la fin de l'état de rhème, l'agent ne réalise aucune action ; lorsque l'état de conversation correspond à un état de thème, la durée des regards varie entre 1 et 4 secondes : o au début de l'état de thème, l'agent « Regarde _les jutilisateur s » ; o pendant le sous-état « en_cours », l'agent alterne entre « Regarde _les_utilisateurs » et « Regarde _n_importe_où_sauf_un jutilisateur » ; o à la fin de l'état de thème, l'agent ne réalise aucune action."Look at the users" and "Look at any_where_on_your_user"; o At the end of the rheme state, the agent does not perform any action; When the conversation state matches a theme state, the duration of the looks varies between 1 and 4 seconds: o At the beginning of the theme state, the agent "Look at the users"; o During the "In_current" subreport, the agent alternates between "Watch_Users" and "Look_anywhere_on_the_user"; o At the end of the theme state, the agent does not perform any action.
L'invention propose ainsi une technique d'animation d'un agent tridimensionnel permettant de produire les comportements nécessaires à une bonne gestion du dialogue. Cette technique permet notamment de gérer correctement les tours de paroles, et de porter de l'emphase sur les éléments essentiels du dialogue en regardant plus ou moins intensément les interlocuteurs en fonction du contenu sémantique de la conversation (par exemple, les éléments nouveaux peuvent être mis en avant par un bref coup d'œil).The invention thus proposes a technique of animation of a three-dimensional agent making it possible to produce the behaviors necessary for a good management of the dialogue. This technique makes it possible to manage correctly the turns of words, and to emphasize the essential elements of the dialogue by looking more or less intensely the interlocutors depending on the semantic content of the conversation (for example, new elements can be highlighted by a brief glance).
Lors d'une conversation entre l'agent conversationnel et un groupe d'interlocuteurs, l'invention permet ainsi un balayage du regard de l'agent d'un interlocuteur principal à au moins un interlocuteur secondaire, l'agent pouvant regarder l'interlocuteur principal pendant un temps prédéterminé supérieur au temps pendant lequel il regarde l'interlocuteur secondaire.During a conversation between the conversational agent and a group of interlocutors, the invention thus allows a scanning of the gaze of the agent of a main interlocutor to at least one secondary interlocutor, the agent being able to look at the interlocutor for a predetermined time greater than the time during which it looks at the secondary speaker.
De plus, selon un mode de réalisation préférentiel de l'invention, des contraintes biologiques sont introduites de manière à produire une animation encore plus réaliste de l'avatar, notamment en coordonnant la tête et les yeux afin de recréer le réflexe vestibulo oculaire.In addition, according to a preferred embodiment of the invention, biological constraints are introduced so as to produce an even more realistic animation of the avatar, in particular by coordinating the head and the eyes in order to recreate the vestibulo ocular reflex.
Ainsi, lorsque la cible que l'avatar doit regarder est déterminée, le moteur de comportement 14 appelle un sous-système d'automates qui permet d'asservir le cou et les yeux en modélisant le réflexe vestibulo oculaire. Ce réflexe implique que, les yeux étant beaucoup plus rapides que le cou, ceux-ci pointent les premiers sur la cible avant que la tête n'ait tournée. Lorsque la tête se retrouve face à la cible après rotation du cou, les yeux reviennent dans leur position initiale.Thus, when the target that the avatar must look at is determined, the behavior engine 14 calls a subsystem of automata that makes it possible to enslave the neck and the eyes by modeling the vestibulo ocular reflex. This reflex implies that, the eyes being much faster than the neck, they point first on the target before the head has turned. When the head is facing the target after rotation of the neck, the eyes return to their original position.
La figure 3 présente ainsi une courbe 31 illustrant le degré de rotation des yeux en fonction du temps, et une courbe 32 illustrant le degré de rotation du cou en fonction du temps.FIG. 3 thus has a curve 31 illustrating the degree of rotation of the eyes as a function of time, and a curve 32 illustrating the degree of rotation of the neck as a function of time.
Ce phénomène peut notamment être modélisé en utilisant des courbes de vitesse angulaire différentes pour la rotation des yeux 41 et la rotation du cou 42, comme illustré en figure 4. Plus précisément, ces courbes de vitesses permettent de choisir, pour le pas de temps courant, une vitesse angulaire (abscisse) en fonction de la distance angulaire (ordonnée) restant à parcourir.This phenomenon can be modeled in particular by using different angular velocity curves for the rotation of the eyes 41 and the rotation of the neck 42, as illustrated in FIG. 4. More precisely, these velocity curves make it possible to choose, for the current time step. , an angular velocity (abscissa) as a function of the angular distance (ordinate) remaining to be traveled.
Les fonctions utilisées sont de la forme :The functions used are of the form:
Figure imgf000022_0001
avec les paramètres a, b et c à fixer pour chacune des courbes. Par exemple, pour la courbe de vitesse angulaire 41 associée à la rotation des yeux, les valeurs des paramètres α, b et c sont respectivement de l'ordre de 500 deg.s'1, 8 et 1, et pour la courbe de vitesse angulaire 42 associée à la rotation du cou, les valeurs des paramètres a, b et c sont respectivement de l'ordre de 20 deg.s"1, 6, 1.
Figure imgf000022_0001
with the parameters a, b and c to be set for each curve. For example, for the angular velocity curve 41 associated with the rotation of the eyes, the values of the parameters α, b and c are respectively of the order of 500 degrees -1 , 8 and 1, and for the speed curve angular 42 associated with the rotation of the neck, the values of the parameters a, b and c are respectively of the order of 20 deg.s "1 , 6, 1.
Notamment, si l'on considère que l'animation à modéliser est le positionnement de la tête de l'agent en face d'une cible, le positionnement des yeux de l'agent peut être considéré comme une sous tâche, et un automate asservissant les yeux peut être appelé de façon hiérarchique par un automate asservissant la tête.In particular, if we consider that the animation to be modeled is the positioning of the head of the agent in front of a target, the positioning of the eyes of the agent can be considered as a sub-task, and an automaton enslaving the eyes can be called hierarchically by an automaton enslaving the head.
On présente notamment en relation avec la figure 5 une chaîne articulée représentative de la tête de l'avatar et des articulations entre les différents éléments de la tête. Cette chaîne comprend à la base une racine 51, correspondant par exemple à la colonne vertébrale, articulée avec le cou 52, lui-même coordonné avec le centre des yeux 53, l'oeil droit 54, ou l'œil gauche 55.In particular, with reference to FIG. 5, there is shown an articulated chain representative of the head of the avatar and the articulations between the different elements of the head. This chain comprises at the base a root 51, corresponding for example to the vertebral column, articulated with the neck 52, itself coordinated with the center of the eyes 53, the right eye 54, or the left eye 55.
Afin d'asservir l'avatar, il faut donc calculer les rotations du cou et de chacun des yeux indépendamment pour modéliser la convergence, lorsque la tête de l'avatar tourne pour suivre du regard une cible 56. On définit notamment les notations suivantes :In order to enslave the avatar, it is therefore necessary to calculate the rotations of the neck and each of the eyes independently to model the convergence, when the head of the avatar rotates to follow a look at a target 56. In particular, the following notations are defined:
Racine 51 : base de la chaîne articulée ;Root 51: base of the articulated chain;
RacineCou 511 : vecteur reliant la racine 51 au centre de rotation du cou 52 ;RacineCou 511: vector connecting the root 51 to the center of rotation of the neck 52;
CouCentreYeux 521 : vecteur reliant le centre de rotation du cou 52 au centre des yeux 53 ;CouCentreYeux 521: vector connecting the center of rotation of the neck 52 to the center of the eyes 53;
CentreYeuxOeilDroit 531 : vecteur reliant le centre des yeux 53 à l'œil droit 54 ;CenterYeuxOeilDroit 531: vector connecting the center of the eyes 53 to the right eye 54;
CentreYeuxOeilGauche 532 : vecteur reliant le centre des yeux 53 à l'œil gauche 55 ; - Cible 56 : position de la cible 56 ; Rayon : vecteur normalisé reliant le centre des yeux 53 à la cible 56 ; α : angle entre le vecteur opposé à CouCentreYeux 521 et le vecteur Rayon ; - Coudble : vecteur reliant le centre de rotation du cou 52 et la cible 56.CenterYeuxOeilGauche 532: vector connecting the center of the eyes 53 to the left eye 55; Target 56: position of the target 56; Radius: normalized vector connecting the center of the eyes 53 to the target 56; α: angle between the vector opposite to CouCentreYeux 521 and the Ray vector; - Coudble: vector connecting the center of rotation of the neck 52 and the target 56.
On présente ci- après une méthode pour la détermination de la rotation du cou et de la rotation des yeux d'un avatar, permettant d'animer l'agent de manière fluide et réaliste en introduisant des contraintes biologiques. La rotation du cou impose de déplacer le plan facial jusqu'à ce qu'il se trouve perpendiculaire à un rayon partant du centre des yeux vers la cible.The following is a method for determining the rotation of the neck and rotation of the eyes of an avatar, to animate the agent fluidly and realistically by introducing biological constraints. The rotation of the neck requires moving the facial plane until it is perpendicular to a ray from the center of the eyes towards the target.
En utilisant les notations définies précédemment, il faut donc calculer la rotation permettant de déplacer le vecteur Coudble de sa position de départUsing the notations defined above, we must calculate the rotation to move the Coudble vector from its starting position
(position de repos) à une position d'arrivée Coudble ', selon laquelle le plan facial se trouve perpendiculaire au rayon partant du centre des yeux vers la cible.(position of rest) at a Coudble 'arrival position, according to which the facial plane is perpendicular to the radius starting from the center of the eyes towards the target.
On peut notamment remarquer que le vecteur Coudble initial doit être calculé à chaque instant, car il dépend précisément de la distance du cou 52 à la cible 56.It can be noted in particular that the initial Coudble vector must be calculated at each instant, since it depends precisely on the distance from the neck 52 to the target 56.
On propose donc de calculer le vecteur Coudble ' permettant de toucher la cible 56 (vecteur d'arrivée), puis de calculer la rotation transformant le vecteurIt is therefore proposed to calculate the vector Coudble 'to touch the target 56 (arrival vector), then calculate the rotation transforming the vector
Coudble en Coudble '.Coudble in Coudble '.
Le calcul du vecteur CouCible revient en fait à calculer le module du vecteur Rayon .The calculation of the CouCible vector is in fact to calculate the modulus of the Ray vector.
On peut également calculer directement le module du vecteur CouCible puisque ce module est invariant par rotation.It is also possible to directly calculate the modulus of the CouCible vector since this module is invariant by rotation.
Ainsi, connaissant le module du vecteur CouCentreYeux 521 et la valeur de l'angle α, et en utilisant le théorème d'Al Kashi, on peut calculer le module du vecteur Rayon :Thus, knowing the modulus of the CouCentreYeux vector 521 and the value of the angle α, and using the Al Kashi theorem, we can calculate the radius vector module:
CouCible2 - CouCentreYeux2 + Rayon2 -2. CouCentreYeux. Rayon, cosα soit : Rayon2 - Rayon.(2.CouCentreYeux.cosa) + (CouCentreYeux2 - CouCible2) = 0 On en déduit la valeur du module de Rayon en résolvant cette équation du second degré et en prenant la racine appropriée.CouCture 2 - CouCentreYeux 2 + Radius 2 -2. CouCentreYeux. Radius, cosα be: Radius 2 - Radius (2.CouCentreYeux.cosa) + (CouCentreYeux 2 - CouCible 2 ) = 0 One deduces the value of the Ray module by solving this equation of the second degree and by taking the appropriate root.
On peut ensuite construire le vecteur CouCible par addition vectorielle. Plus précisément, comme illustré en figure 6, la rotation permettant de transformer le vecteur CouCible de départ en vecteur CouCible ' d'arrivée correspond à une composition de rotations P^ et Px , respectivement autour des axes Oy et Ox ', l'axe Ox ' étant le résultat de l'application de la rotation P^ à l'axe Ox . Ainsi, pour calculer ces rotations P^ et Px , on procède simplement en projetant sur les plans Oxz et ^z les vecteurs CouCible et CouCible '.The CouCible vector can then be constructed by vector addition. More precisely, as illustrated in FIG. 6, the rotation making it possible to transform the starting CouCible vector into a CouCible 'arrival vector corresponds to a composition of rotations P ^ and P x , respectively around the axes Oy and Ox', the axis Ox 'being the result of the application of the rotation P ^ to the axis Ox. Thus, to calculate these rotations P ^ and P x, is simply performed by projecting the Oxz planes t e ^ z CouCible vectors and CouCible.
Une fois ces rotations calculées, on peut alors les traduire dans la commande qui convient au moteur de comportement.Once these rotations calculated, we can then translate them into the command that suits the behavior engine.
De plus, une fois la rotation du cou déterminée, le calcul de la rotation des yeux est réalisé plus simplement, puisque cette rotation est directe.In addition, once the rotation of the neck determined, the calculation of the rotation of the eyes is made more simply, since this rotation is direct.
Ainsi, on commence par appliquer la rotation du cou ainsi calculée aux vecteurs CentreYeuxOeilGauche 532, CentreYeuxOeilDroit 531, et aux axes Oy et Ox pour les transformer en, respectivement, CentreYeuxOeilGauche ',Thus, one begins by applying the rotation of the neck thus calculated to the vectors CentreYeuxOeilLauche 532, CenterYeuxOeilDroit 531, and axes Oy and Ox to transform them into, respectively, CenterYeuxOeilGauche ',
CentreYeuxOeilDroit ', Oy ' et Ox ". Plus précisément, suivant l'oeil considéré, on ajoute le vecteurCenterYeuxOeilDroit ', Oy' and Ox. "More precisely, according to the eye considered, we add the vector
CentreYeuxOeilGauche ' ou CentreYeuxOeilDroit ' au centre des yeux 53.CenterYeuxOeilLeft 'or CenterYeuxOeilRight' in the center of the eyes 53.
Puis, de façon similaire, on calcule les rotations respectives comme une composition des rotations, respectivement "y et " autour des axes Oy ' et Ox '", l'axe Ox '" étant le résultat de l'application de la rotation "y à l'axe Ox ".Then, similarly, the respective rotations are calculated as a composition of the rotations, respectively " y and" around the axes Oy 'and Ox'", the axis Ox 'being the result of the application of the rotation" y ". to the Ox axis ".
De nouveau, une fois ces rotations calculées pour chaque œil, on peut alors les traduire dans la commande attendue par le moteur de comportement.Again, once these rotations calculated for each eye, we can then translate them into the command expected by the behavior engine.
Ainsi, le moteur de comportement peut animer l'agent de sorte que ses yeux se focalisent les premiers sur une cible sélectionnée, puis que sa tête entière tourne, permettant aux yeux de se retrouver dans leur position initiale, à partir de ces rotations déterminées et des courbes de vitesse angulaire permettant de simuler le comportement humain.Thus, the behavior engine can animate the agent so that his eyes focus first on a selected target, then his entire head rotates, allowing the eyes to return to their original position, starting from these determined rotations and angular velocity curves to simulate human behavior.
Finalement, le contrôle du comportement visuel de l'agent conversationnel selon l'invention permet d'améliorer les interactions entre l'agent et le groupe d'interlocuteurs, en reproduisant de manière réaliste le regard de personnes réelles lors d'une conversation.Finally, the control of the visual behavior of the conversational agent according to the invention makes it possible to improve the interactions between the agent and the group of interlocutors, by realistically reproducing the look of real people during a conversation.
On présente désormais, en relation avec la figure 7, la structure matérielle d'un système d'animation d'un agent conversationnel 3D mettant en œuvre la méthode décrite ci-dessus. Un tel système d'animation comprend une mémoire M 71, une unité de traitement 70 P, équipée par exemple d'un microprocesseur μP, et pilotée par le programme d'ordinateur Pg 72.We now present, in relation to Figure 7, the hardware structure of a 3D conversational agent animation system implementing the method described above. Such an animation system comprises a memory M 71, a processing unit 70 P, equipped for example with a microprocessor μP, and driven by the computer program Pg 72.
A l'initialisation, les instructions de code du programme d'ordinateur 72 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 70. L'unité de traitement 70 reçoit en entrée une information de vision 73, représentative des interlocuteurs présents dans le champ de vision de l'agent, et une information représentative du contenu de la conversation 74. Le microprocesseur μP de l'unité de traitement 70 met en œuvre les étapes du procédé d'animation décrit précédemment, selon les instructions du programme Pg 72. L'unité de traitement 70 délivre en sortie une représentation de l'agent conversationnel. At initialization, the code instructions of the computer program 72 are for example loaded into a RAM memory before being executed by the processor of the processing unit 70. The processing unit 70 receives as input a piece of information. vision 73, representative of the interlocutors present in the field of view of the agent, and information representative of the content of the conversation 74. The microprocessor μP of the processing unit 70 implements the steps of the animation method described previously, according to the instructions of the program Pg 72. The processing unit 70 outputs a representation of the conversational agent.
ANNEXE 1ANNEX 1
O. E. Torres, J. Cassel, et S. PrévostO. E. Torres, J. Cassel, and S. Prévost
"Modeling Gaze Behavior as a Function of Discourse Structure""Modeling Gaze Behavior as a Function of Discourse Structure"
Workshop on Human-Computer Conversations, Bellagio, Italy, 1997 C. Pelachaud, V. Carofiglio, B. De Carolis, et F. De Rosis "Embodied contextual agent in information delivering"Workshop on Human-Computer Conversations, Bellagio, Italy, 1997 C. Pelachaud, V. Carofiglio, B. De Carolis, and F. De Rosis "Embodied Contextual Agent in Information Delivering"
AAMAS, Bologna, Italy, 2002 D. RobinsonAAMAS, Bologna, Italy, 2002 D. Robinson
"The mechanics of human saccadic eye movements""The mechanics of human saccadic eye movements"
Journal of Physiology, vol. 174, pp. 245-264, 1964 S. Park Lee, J. Badler, et N. Badler "Eyes Alive"Journal of Physiology, vol. 174, pp. 245-264, 1964 S. Park Lee, J. Badler, and N. Badler "Eyes Alive"
Proceedings of Siggraph, San Antonio, USA, 2002 Proceedings of Siggraph, San Antonio, USA, 2002

Claims

REVENDICATIONS
1. Procédé d'animation d'un agent conversationnel tridimensionnel (15) dans un environnement virtuel ou de réalité mixte, mettant en œuvre une étape de contrôle du comportement visuel dudit agent (15), lors d'une conversation avec au moins deux interlocuteurs, caractérisé en ce que ladite étape de contrôle met en œuvre une étape de sélection d'une cible que ledit agent (15) regarde, tenant compte :A method of animating a three-dimensional conversational agent (15) in a virtual or mixed reality environment, implementing a step of controlling the visual behavior of said agent (15) during a conversation with at least two interlocutors , characterized in that said control step implements a step of selecting a target that said agent (15) looks, taking into account:
- d'au moins un historique dudit comportement visuel, ledit historique tenant compte, pour au moins un des interlocuteurs, des interactions successives dudit agent avec ledit interlocuteur ;at least one history of said visual behavior, said history taking into account, for at least one of the interlocutors, successive interactions of said agent with said interlocutor;
- et d'au moins un état de ladite conversation, appelé état de conversation, ledit état de conversation appartenant à un ensemble d'états comprenant au moins un état de dialogue et un état de repos.and at least one state of said conversation, called a conversation state, said conversation state belonging to a set of states comprising at least one dialogue state and a rest state.
2. Procédé d'animation selon la revendication 1, caractérisé en ce que ladite étape de sélection tient également compte d'une distance dudit agent (15) à au moins un desdits interlocuteurs.2. Animation method according to claim 1, characterized in that said selection step also takes into account a distance from said agent (15) to at least one of said interlocutors.
3. Procédé d'animation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que lors de ladite étape de contrôle, on contrôle au moins un des paramètres dudit comportement visuel appartenant au groupe comprenant : - une fréquence des coups d'œil dudit agent ; une durée des coups d'œil dudit agent.3. Animation method according to any one of claims 1 and 2, characterized in that during said control step, controlling at least one of the parameters of said visual behavior belonging to the group comprising: - a frequency of blows of eye of said agent; a duration of the glances of said agent.
4. Procédé d'animation selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ledit historique tient compte, pour au moins un desdits interlocuteurs, d'un temps pendant lequel ledit agent a déjà regardé ledit interlocuteur, appelé temps de regard.4. Animation method according to any one of claims 1 to 3, characterized in that said history takes into account, for at least one of said interlocutors, a time during which said agent has already looked at said interlocutor, called time of look.
5. Procédé d'animation selon l'une quelconque des revendications 1 à 4, caractérisé en ce que lors de ladite étape de sélection, on associe à chacun desdits interlocuteurs un intervalle de probabilités // compris dans l'intervalle [0,1] , tel que la réunion desdits intervalles de probabilités If corresponde à l'intervalle [0, l] , lesdits intervalles de probabilités If étant disjoints. 5. Animation method according to any one of claims 1 to 4, characterized in that during said selection step, is associated with each of said interlocutors a range of probabilities // in the range [0,1] , such that the meeting of said intervals of probabilities If corresponds to the interval [0, 1], said intervals of probabilities If being disjoint.
6. Procédé d'animation selon la revendication 5, caractérisé en ce que la longueur dudit intervalle de probabilités // associé à l'interlocuteur i est égale à un score de pertinence S; normalisé, déterminé selon l'équation :6. Animation method according to claim 5, characterized in that the length of said interval of probabilities // associated with the interlocutor i is equal to a score of relevance S; standardized, determined according to the equation:
J = I où : a.Sd, + b.St,J = I where: a.Sd, + b.St,
S, = ' a + b sa. =Λ iS, = 'a + b sa. = Λ i
Σ J = I", St1 = pour tι ≠ 0 , et St; = 1 pour t/ = 0 ;Σ J = I ", St 1 = for tι ≠ 0, and St; = 1 for t / = 0;
Figure imgf000029_0001
avec :
Figure imgf000029_0001
with:
N le nombre d'interlocuteurs ; d[ la distance entre l'interlocuteur i et ledit agent ; t( le temps de regard associé à l'interlocuteur i ; - a ≡ [0, l] , b ≡ [0, l] , a + b = l . N the number of interlocutors; d [the distance between the interlocutor i and said agent; t ( the gaze time associated with the interlocutor i, - a ≡ [0, l], b ≡ [0, l], a + b = 1.
7. Procédé d'animation selon l'une quelconque des revendications 1 à 6, caractérisé en ce que : lorsque ledit état de conversation correspond audit état de repos, on sélectionne une cible quelconque, et ladite étape de contrôle impose audit agent de jeter un coup d'œil dans la direction de ladite cible à une fréquence supérieure à un premier seuil prédéterminé ; lorsque ledit état de conversation correspond audit état de dialogue, on sélectionne en alternance une cible correspondant à l'un desdits interlocuteurs et une cible distincte de chacun desdits interlocuteurs, et ladite étape de contrôle impose audit agent de jeter un coup d'œil dans la direction de chacune desdites cibles à une fréquence supérieure à un second seuil prédéterminé. 7. Animation method according to any one of claims 1 to 6, characterized in that: when said state of conversation corresponds to said state of rest, any target is selected, and said control step requires said agent to throw a a glance in the direction of said target at a frequency greater than a first predetermined threshold; when said conversation state corresponds to said dialogue state, alternately selecting a target corresponding to one of said interlocutors and a separate target of each of said interlocutors, and said checking step forces said agent to take a look in the direction of each of said targets at a frequency greater than a second predetermined threshold.
8. Procédé d'animation selon l'une quelconque des revendications 5 à 7, caractérisé en ce que lorsque ladite étape de contrôle impose audit agent de regarder l'un desdits interlocuteurs, on effectue un tirage aléatoire d'une valeur comprise dans l'intervalle [θ,l] , et en ce que ladite cible sélectionnée est l'interlocuteur dont l'intervalle de probabilités If associé contient ladite valeur.8. Animation process according to any one of claims 5 to 7, characterized in that when said control step requires said agent to look at one of said interlocutors, a random draw is made of a value included in the interval [θ, 1], and in that said selected target is the interlocutor whose associated probability interval If contains said value.
9. Procédé d'animation selon l'une quelconque des revendications 3 à 8, caractérisé en ce que lorsque ledit état de conversation correspond audit état de dialogue, ladite étape de contrôle tient compte d'une information de dialogue, représentative du contenu sémantique de ladite conversation, et permet d'augmenter ladite fréquence lorsque ledit contenu sémantique est de type rhème, par rapport à la fréquence lorsque ledit contenu sémantique est de type thème.9. Animation method according to any one of claims 3 to 8, characterized in that when said conversation state corresponds to said dialogue state, said control step takes into account a dialogue information, representative of the semantic content of said conversation, and makes it possible to increase said frequency when said semantic content is of rheme type, with respect to the frequency when said semantic content is of type theme.
10. Dispositif d'animation d'un agent conversationnel tridimensionnel (15) dans un environnement virtuel ou de réalité mixte, comprenant des moyens de contrôle du comportement visuel dudit agent (15), lors d'une conversation avec au moins deux interlocuteurs, caractérisé en ce que lesdits moyens de contrôle comprennent des moyens de sélection d'une cible que ledit agent (15) regarde, à partir :10. A device for animating a three-dimensional conversational agent (15) in a virtual or mixed reality environment, comprising means for controlling the visual behavior of said agent (15) during a conversation with at least two interlocutors, characterized in that said control means comprise means for selecting a target that said agent (15) looks from:
- d'au moins un historique dudit comportement visuel, ledit historique tenant compte, pour au moins un des interlocuteurs, des interactions successives dudit agent avec ledit interlocuteur ;at least one history of said visual behavior, said history taking into account, for at least one of the interlocutors, successive interactions of said agent with said interlocutor;
- et d'au moins un état de ladite conversation, appelé état de conversation, ledit état de conversation appartenant à un ensemble d'états comprenant au moins un état de dialogue et un état de repos.and at least one state of said conversation, called a conversation state, said conversation state belonging to a set of states comprising at least one dialogue state and a rest state.
11. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en œuvre des étapes du procédé d'animation d'un agent conversationnel tridimensionnel (15) selon l'une quelconque des revendications 1 à 9. 11. Computer program product downloadable from a communication network and / or stored on a computer readable medium and / or executable by a microprocessor, characterized in that it comprises program code instructions for the implementation of steps of the method of animating a three-dimensional conversational agent (15) according to any one of claims 1 to 9.
PCT/EP2006/066428 2005-09-16 2006-09-15 Method for animating a three-dimensional conversational agent including a step of controlling the visual behaviour and corresponding device and computer programme WO2007031584A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0509513 2005-09-16
FR0509513 2005-09-16

Publications (1)

Publication Number Publication Date
WO2007031584A1 true WO2007031584A1 (en) 2007-03-22

Family

ID=36467266

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/066428 WO2007031584A1 (en) 2005-09-16 2006-09-15 Method for animating a three-dimensional conversational agent including a step of controlling the visual behaviour and corresponding device and computer programme

Country Status (1)

Country Link
WO (1) WO2007031584A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577404A (en) * 2009-11-06 2012-07-11 索尼公司 Three dimensional (3D) video for two-dimensional (2D) video messenger applications

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CASSELL J ET AL: "ANIMATED CONVERSATION: RULE-BASED GENERATION OF FACIAL EXPRESSION, GESTURE & SPOKEN INTONATION FOR MULTIPLE CONVERSATIONAL AGENTS", COMPUTER GRAPHICS PROCEEDINGS. ANNUAL CONFERENCE SERIES. SIGGRAPH, 1994, pages 413 - 420, XP009062222 *
COLBURN R A ET AL: "THE ROLE OF EYE GAZE IN AVATAR MEDIATED CONVERSATIONAL INTERFACES", TECHNICAL REPORT MICROSOFT RESEARCH, vol. MSR-TR-2000-81, 31 July 2000 (2000-07-31), pages 1 - 9, XP009065022 *
D. NOVICK: "Models of Gaze in Multi-party Discourse", CHI 2005 WORKSHOP ON THE VIRTUALITY CONTINUUM REVISITED, 7 April 2005 (2005-04-07), Portland, OR, USA, pages 1 - 3, XP002383535 *
RIST T ET AL: "Towards a simulation of conversations with expressive embodied", COMPUTER ANIMATION AND SOCIAL AGENTS, 2003. 16TH INT. CONF. , PISCATAWAY, NJ, USA, IEEE, 8 May 2003 (2003-05-08), pages 5 - 10, XP010639654, ISBN: 0-7695-1934-2 *
VERTEGAAL R ET AL: "EYE GAZE PATTERNS IN CONVERSATIONS: THERE IS MORE TO CONVERSATIONAL AGENTS THAN MEETS THE EYES", CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS. SEATTLE, WA, MARCH 31 - APRIL 5, 2001. NEW YORK, NY : IEEE, US, 31 March 2001 (2001-03-31), pages 301 - 308, XP001090385, ISBN: 1-58113-327-8 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102577404A (en) * 2009-11-06 2012-07-11 索尼公司 Three dimensional (3D) video for two-dimensional (2D) video messenger applications
CN102577404B (en) * 2009-11-06 2015-12-09 索尼公司 For three-dimensional (3D) video of two dimension (2D) video messenger application

Similar Documents

Publication Publication Date Title
US20220254343A1 (en) System and method for intelligent initiation of a man-machine dialogue based on multi-modal sensory inputs
Maatman et al. Natural behavior of a listening agent
JP6023685B2 (en) Emotion information display control device, method and program thereof
EP2158762A2 (en) Method and system for communication between persons in a telecommunication system
EP3036733A1 (en) Method for assisting visual exploration for an individual suffering from a retinal condition resulting in a scotoma
EP0905677B1 (en) Speech recognition method
WO2006103240A1 (en) Method of identifying faces from face images and corresponding device and computer program
CN106127828A (en) The processing method of a kind of augmented reality, device and mobile terminal
EP3452189A1 (en) Avatars in virtual environments
US11076091B1 (en) Image capturing assistant
EP1681647B1 (en) Optimisation of ergonomics of movement of a virtual model
CN115062606B (en) Dialogue data analysis method, dialogue data model training method and electronic equipment
FR3100074A1 (en) Method for analyzing a facial feature of a face
CA2942116A1 (en) Automatic voice recognition with detection of at least one contextual element, application to steering and maintenance of an aircraft
WO2007031584A1 (en) Method for animating a three-dimensional conversational agent including a step of controlling the visual behaviour and corresponding device and computer programme
EP1377937A1 (en) Method and system for animating a figure in three dimensions
CN115273865A (en) Intelligent voice interaction method, device, equipment and storage medium
KR102490035B1 (en) Vr simulator control method using emotional state estimation
JP5930946B2 (en) Dialog state estimation device, dialog state estimation method, and program
WO2009080945A2 (en) Method of managing user representations, corresponding management entity, terminal and computer program
WO2021239579A1 (en) Learning method, associated recognition method, corresponding devices
Manitsaris Computer vision for the gesture recognition: gesture analysis and stochastic modelling in music interaction
EP2228987B1 (en) System for interpreting a movement of a party, corresponding method and computer program
US20240135931A1 (en) Transcription based on speech and visual input
CH711803A2 (en) Interactive mirror surface interaction method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06778443

Country of ref document: EP

Kind code of ref document: A1