WO2020251088A1 - Sound map generation method and sound recognition method using sound map - Google Patents
Sound map generation method and sound recognition method using sound map Download PDFInfo
- Publication number
- WO2020251088A1 WO2020251088A1 PCT/KR2019/007150 KR2019007150W WO2020251088A1 WO 2020251088 A1 WO2020251088 A1 WO 2020251088A1 KR 2019007150 W KR2019007150 W KR 2019007150W WO 2020251088 A1 WO2020251088 A1 WO 2020251088A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- sound
- event
- map
- noise
- robot
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000000694 effects Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 37
- 230000002159 abnormal effect Effects 0.000 claims description 32
- 230000003595 spectral effect Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 description 50
- 239000010410 layer Substances 0.000 description 42
- 238000012549 training Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 20
- 238000010801 machine learning Methods 0.000 description 18
- 210000002569 neuron Anatomy 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000002372 labelling Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 230000003203 everyday effect Effects 0.000 description 7
- 230000002354 daily effect Effects 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 230000007257 malfunction Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 210000000225 synapse Anatomy 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000009474 immediate action Effects 0.000 description 1
- 238000012880 independent component analysis Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/93—Discriminating between voiced and unvoiced parts of speech signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R29/00—Monitoring arrangements; Testing arrangements
Definitions
- the embodiment relates to a sound map generation method applied to a robot capable of recognizing sound including a user's voice command and a sound recognition method using the sound map.
- Speech recognition technology can be said to be a series of processes that understand human speech and convert it into text information that can be handled by a computer.
- Speech recognition service using speech recognition technology recognizes the user's voice and is an appropriate service for this. It may include a series of processes to provide.
- voice recognition technology is applied to various robots provided for user convenience, and development of technology for performing commands by recognizing a user's voice command is being actively studied.
- Korean Patent Registration No. 10-1009854 discloses an apparatus and method for estimating noise contained in an acoustic signal during a process of processing an acoustic signal in relation to speech recognition.
- the prior art does not disclose a solution when a robot confuses a voice command due to a sound similar to a user's voice command generated on a TV or the like.
- US Patent Publication No. US 20180350379 A1 discloses a technology for processing multi-channel voice signals input through a plurality of microphones in relation to voice recognition.
- the prior art does not disclose a solution when a robot confuses a voice command due to a sound similar to a user's voice command generated on a TV or the like.
- One problem to be solved in the embodiment is to propose a method for improving the voice recognition function of the robot by allowing the robot to effectively distinguish between a user's voice command and similar noise.
- Another object of the embodiment is to present a solution to the problem of not accurately recognizing the user's voice command due to the movement of the robot, particularly, rotation.
- Another task of the embodiment is to propose a method for removing a risk to the user in a situation in which the robot recognizes an abnormal sound other than a user's voice command and everyday noise.
- the robot may generate a sound map for generating a sound map in which at least one sound event ID related to noise is stored.
- the method of generating a sound map includes receiving a sound, extracting a directional sound, detecting a sound activity from a directional sound, and determining the characteristic value of the sound existing in the detected sound section. Acquiring, generating a sound event ID including the acquired sound characteristic value, counting the number of occurrences of sounds having the same sound event ID, and relating to a sound in which the number of occurrences exceeds a set value. It may include storing the sound event ID in the sound map.
- the sound characteristic value may include a direction angle indicating a position of a sound source generating a directional sound as an angle, and a frequency of the directional sound.
- the sound characteristic value may further include at least one of an amplitude, a sound pressure, and a tone color of a directional sound.
- the sound map may store a plurality of sound event IDs having different sound characteristic values.
- the robot can recognize the sound including the user's voice command using the sound map.
- One embodiment of the sound recognition method includes receiving a sound including a voice command, generating a steering vector in a noise direction using a sound map, and forming a sound beam in the direction in which the steering vector is generated ( receiving noise by performing beam forming), calculating a power spectral density matrix of the input noise, calculating a PSD matrix of sound including voice commands, and sound including voice commands It may include the step of deriving the PSD matrix of the voice command by using the difference value between the PSD matrix of the input noise and the PSD matrix of the input noise as the PSD matrix of the voice command.
- Another embodiment of the sound recognition method is a sound event ID comparison step of comparing a first sound event ID generated in the step of generating a sound event ID and a previously generated and stored second sound event ID, and the first sound event ID If the second sound event ID does not match, an abnormal sound detection step of determining that the abnormal sound has been detected, and an alarm step of notifying a user when the abnormal sound is detected.
- Another embodiment of the sound recognition method includes receiving a sound, extracting a directional sound, detecting a sound activity from a directional sound, and detecting the sound existing in the detected sound section. Acquiring a characteristic value, generating a sound event ID including the obtained sound characteristic value, counting the number of occurrences of a sound with the same sound event ID, a sound in which the number of occurrences exceeds a set value Storing a sound event ID for a sound map, receiving a sound including a voice command, generating a steering vector in the noise direction using the sound map, in the direction in which the steering vector was generated Performing sound beam forming to receive noise, calculating a power spectral density matrix of the input noise, calculating a PSD matrix of sound including voice commands, and voice commands It may include a step of deriving the PSD matrix of the voice command using the difference value between the PSD matrix of the sound including the PSD matrix of the sound and the PSD matrix of the input noise as the PSD matrix of the voice command.
- Another embodiment of the sound recognition method includes receiving a sound, extracting a directional sound, detecting a sound section from a directional sound, and acquiring a characteristic value of the sound existing in the detected sound section. The steps of, generating a sound event ID including the obtained sound characteristic value, counting the number of occurrences of sounds having the same sound event ID, and calculating a sound event ID for a sound whose occurrence number exceeds a set value.
- the robot can more clearly recognize the user's voice command.
- the robot easily grasps whether an abnormal sound has occurred using a sound map, and the robot notifies the user of the occurrence of the abnormal sound, so that the user can quickly respond to an unexpected or emergency situation.
- FIG. 1 is a diagram illustrating a robot that recognizes sound according to an exemplary embodiment.
- FIG. 2 is a flowchart illustrating a method of generating a sound map according to an exemplary embodiment.
- 3 to 5 are views for explaining the operation of the robot according to an embodiment.
- 6 to 8 are flowcharts illustrating a method of recognizing a sound using a sound map according to an exemplary embodiment.
- FIG. 9 is a flowchart illustrating a method for recognizing a sound using a sound map according to another exemplary embodiment.
- the top (top) or bottom (bottom) (on or under) includes both elements in which two elements are in direct contact with each other or in which one or more other elements are indirectly formed between the two elements.
- the meaning of not only an upward direction but also a downward direction based on one element may be included.
- the robot 100 may have a voice recognition function capable of performing a command requested by the user by recognizing the user's voice.
- the robot 100 can be used for home, industrial and other various purposes.
- the robot 100 may include a head unit 110, a body 120, and a display unit 130.
- the display unit 130 displays an image necessary for the user and the robot 100 to interact, for example, an operation mode, an operation state, an error state, other necessary images, a happy state, a depressed state, etc. I can.
- the display unit 130 may be integrally combined with the head unit 110 and may move together according to the movement of the head unit 110.
- the robot 100 may include a rotatable head unit 110.
- the head unit 110 is coupled to the body 120 in a pivot form to allow a three-dimensional movement with respect to the body 120.
- the head portion 110 is rotatable on the xy plane, and as shown in (c) of Figure 1, the head portion 110 is on the zx plane It can also be provided to enable rotation. Accordingly, the head unit 110 can actively operate in three dimensions with respect to the body 120.
- the robot 100 includes a communication unit connected to the server, so that the robot 100 and the server may exchange information with each other.
- the robot 100 may include an operation unit and a control unit necessary to perform operations and operations required in each step described in the embodiment, and may include a storage unit for storing necessary information.
- the robot 100 may include a multi-channel microphone and a speaker.
- the multi-channel microphone can receive sound from at least two different channels, respectively.
- Each channel may include at least one independent microphone, and such a plurality of microphones may be provided at a predetermined distance from each other.
- Each channel receives the same sound independently, and as a human receives the same sound independently from two ears and recognizes the difference between the received sound and recognizes the direction in which the sound is generated, the robot 100 It is possible to determine the direction in which the sound is generated by grasping the difference between the same sound input through the channels.
- the speaker can output the sound required by the user.
- the robot 100 may transmit a voice or an alarm to a user through a speaker or may play music to the user.
- the multi-channel microphone and speaker may be placed in an appropriate position on the robot 100.
- the multi-channel microphone may be provided on the head portion 110 of the robot 100. In this case, since the head unit 110 rotates, it may be provided to rotate together with the rotation of the head unit 110 to operate in three dimensions.
- the robot 100 includes a mobile communication module, and may communicate with a server, a user terminal held by a user, and the like through the mobile communication module.
- the mobile communication module includes technical standards or communication methods for mobile communication (for example, GSM (Global System for Mobile Communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000)), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.) and 5G (Generation) communication.
- GSM Global System for Mobile Communication
- CDMA Code Division Multi Access
- CDMA2000 Code Division Multi Access 2000
- EV-DO Enhanced Voice-Data Optimized or Enhanced Voice-Data Only
- WCDMA Wideband CDMA
- HSDPA High Speed Downlink Packet Access
- HSUPA High Speed
- the robot 100, the server, and the user terminal may also include the 5G communication module described above.
- the robot 100, the server, and the user terminal can transmit data at a speed of 100 Mbps to 20 Gbps, a large amount of voice or image data can be transmitted very quickly. Accordingly, the server and the user terminal can more accurately recognize a large amount of voice or image data transmitted from the robot 100 more quickly.
- the robot 100, server, and user terminal equipped with a 5G communication module can support various intelligent communication of things (Internet of Things (IoT), Internet of Everything (IoE), Internet of Small Things (IoST), etc.)), and the robot The 100 may support machine to machine (M2M) communication, vehicle to everything communication (V2X) communication, and device to device (D2D) communication. Accordingly, the robot 100 can very efficiently share information that can be acquired on various devices and spaces with each other.
- IoT Internet of Things
- IoE Internet of Everything
- IoST Internet of Small Things
- M2M machine to machine
- V2X vehicle to everything communication
- D2D device to device
- the robot 100 may perform machine learning such as deep learning for an input user's voice command, and may store data and result data used for machine learning.
- Machine learning is a branch of artificial intelligence, which can include a field of research that gives computers the ability to learn without explicit programming.
- machine learning can be said to be a technology that studies and builds a system that learns based on empirical data, performs prediction, and improves its own performance, and algorithms for it.
- Machine learning algorithms can take a way to build specific models to derive predictions or decisions based on input data, rather than executing strictly defined static program instructions.
- the term'machine learning' can be used interchangeably with the term'machine learning'.
- ANN artificial neural network
- the decision tree may include an analysis method that performs classification and prediction by charting decision rules into a tree structure.
- the Bayesian network may include a model that expresses a probabilistic relationship (conditional independence) between multiple variables in a graph structure. Bayesian networks may be suitable for data mining through unsupervised learning.
- the support vector machine is a model of supervised learning for pattern recognition and data analysis, and can be used mainly for classification and regression analysis.
- the robot 100 may be equipped with an artificial neural network, and may perform machine learning-based user recognition and user voice recognition using a received voice input signal as input data.
- An artificial neural network is a model of the principle of operation of biological neurons and the connection relationship between neurons, and can include an information processing system in which a number of neurons called nodes or processing elements are connected in the form of a layer structure.
- Artificial neural networks are models used in machine learning and can include statistical learning algorithms inspired by biological neural networks (especially the brain among animals' central nervous systems) in machine learning and cognitive science.
- the artificial neural network may refer to an overall model having problem-solving ability by changing the strength of synaptic bonding through learning by artificial neurons (nodes) that form a network by combining synapses.
- artificial neural network may be used interchangeably with the term neural network.
- the artificial neural network may include a plurality of layers, and each of the layers may include a plurality of neurons.
- artificial neural networks may include synapses that connect neurons and neurons.
- Artificial neural networks generally have three factors: (1) the connection pattern between neurons in different layers (2) the learning process to update the weight of the connection (3) the output value from the weighted sum of the input received from the previous layer It can be defined by the activation function it creates.
- the robot 100 is an artificial neural network, for example, in a manner such as DNN (Deep Neural Network), RNN (Recurrent Neural Network), BRDNN (Bidirectional Recurrent Deep Neural Network), MLP (Multilayer Perceptron), CNN (Convolutional Neural Network).
- DNN Deep Neural Network
- RNN Recurrent Neural Network
- BRDNN Bidirectional Recurrent Deep Neural Network
- MLP Multilayer Perceptron
- CNN Convolutional Neural Network
- the term'layer' may be used interchangeably with the term'layer'.
- Artificial neural networks can be classified into Single-Layer Neural Networks and Multi-Layer Neural Networks according to the number of layers.
- a general single-layer neural network can be composed of an input layer and an output layer.
- a general multilayer neural network may include an input layer, one or more hidden layers, and an output layer.
- the input layer is a layer that receives external data, and the number of neurons in the input layer is the same as the number of input variables, and the hidden layer is located between the input layer and the output layer, receives signals from the input layer, extracts features, and transfers them to the output layer.
- the output layer receives a signal from the hidden layer and outputs an output value based on the received signal.
- the input signal between neurons is multiplied by each connection strength (weight) and then summed. If the sum is greater than the neuron's threshold, the neuron is activated and the output value obtained through the activation function can be output.
- a deep neural network including a plurality of hidden layers between an input layer and an output layer may be a representative artificial neural network that implements deep learning, a type of machine learning technology.
- the term'deep learning' can be used interchangeably with the term'deep learning'.
- the artificial neural network can be trained using training data.
- learning means a process of determining parameters of an artificial neural network using training data in order to achieve the purpose of classifying, regressing, or clustering input data.
- parameters of an artificial neural network include weights applied to synapses or biases applied to neurons.
- the artificial neural network learned by the training data may classify or cluster input data according to patterns of the input data.
- an artificial neural network trained using training data may be referred to as a trained model in this specification.
- Learning methods of artificial neural networks can be classified into supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning.
- Supervised learning may include a method of machine learning to infer a function from training data.
- outputting a continuous value is called regression, and predicting and outputting the class of an input vector can be called classification.
- an artificial neural network can be trained while a label for training data is given.
- the label may mean a correct answer (or result value) that the artificial neural network must infer when training data is input to the artificial neural network.
- the correct answer (or result value) to be inferred by the artificial neural network may be referred to as a label or labeling data.
- setting a label on training data for learning an artificial neural network may be referred to as labeling the training data with labeling data.
- the training data and the label corresponding to the training data constitute one training set, and may be input to the artificial neural network in the form of a training set.
- the training data represents a plurality of features
- labeling of the training data may mean that a label is attached to the feature represented by the training data.
- the training data may represent the characteristics of the input object in the form of a vector.
- the artificial neural network can infer a function for the correlation between the training data and the labeling data using the training data and the labeling data.
- parameters of the artificial neural network may be determined (optimized) through evaluation of a function inferred from the artificial neural network.
- Unsupervised learning is a kind of machine learning, and labels for training data may not be given.
- the unsupervised learning may be a learning method for training an artificial neural network to find and classify patterns in the training data itself, rather than an association relationship between training data and a label corresponding to the training data.
- unsupervised learning examples include clustering or independent component analysis.
- Examples of artificial neural networks using unsupervised learning include a generative adversarial network (GAN) and an autoencoder (AE).
- GAN generative adversarial network
- AE autoencoder
- the generative adversarial neural network may include a generator and a discriminator, a machine learning method in which two different artificial intelligences compete and improve performance.
- the generator is a model that creates new data and can create new data based on the original data.
- the discriminator is a model that recognizes a pattern of data, and may play a role of discriminating whether the input data is original data or new data generated by the generator.
- the generator learns by receiving data that cannot be deceived by the discriminator, and the discriminator can learn by receiving deceived data from the generator. Accordingly, the generator can evolve to deceive the discriminator as well as possible, and the discriminator can evolve to distinguish between the original data and the data generated by the generator.
- Auto encoders can include neural networks aiming to reproduce the input itself as an output.
- the auto encoder may include an input layer, at least one hidden layer, and an output layer.
- the number of nodes in the hidden layer is smaller than the number of nodes in the input layer, the dimension of the data is reduced, and compression or encoding may be performed accordingly.
- data output from the hidden layer can enter the output layer.
- the dimension of the data increases, and accordingly, decompression or decoding may be performed.
- the auto-encoder adjusts the connection strength of neurons through learning, so that input data can be expressed as hidden layer data.
- information is expressed with fewer neurons than in the input layer, but being able to reproduce the input data as an output may mean that the hidden layer found and expressed a hidden pattern from the input data.
- Semi-supervised learning is a kind of machine learning, and may mean a learning method using both labeled training data and unlabeled training data.
- Reinforcement learning may include the theory that given an environment in which an agent can judge what action to do at every moment, it can find the best way to experience without data.
- Reinforcement learning can be mainly performed by the Markov Decision Process (MDP).
- MDP Markov Decision Process
- the structure of the artificial neural network is specified by the configuration of the model, activation function, loss function or cost function, learning algorithm, optimization algorithm, etc., and hyperparameters are pre-trained. It is set, and then, a model parameter is set through learning, so that the content can be specified.
- factors determining the structure of an artificial neural network may include the number of hidden layers, the number of hidden nodes included in each hidden layer, an input feature vector, a target feature vector, and the like.
- Hyperparameters may include several parameters that must be initially set for learning, such as initial values of model parameters.
- the model parameter may include several parameters to be determined through learning.
- the hyperparameter may include an initial weight value between nodes, an initial bias value between nodes, a mini-batch size, a number of learning iterations, and a learning rate.
- the model parameters may include weights between nodes, biases between nodes, and the like.
- the loss function can be used as an index (reference) for determining an optimal model parameter in the learning process of the artificial neural network.
- learning refers to the process of manipulating model parameters to reduce the loss function, and the purpose of learning can be seen as determining model parameters that minimize the loss function.
- the loss function may mainly use a mean squared error (MSE) or a cross entropy error (CEE), but the present invention is not limited thereto.
- MSE mean squared error
- CEE cross entropy error
- the cross entropy error may be used when the correct answer label is one-hot encoded.
- One-hot encoding may include an encoding method in which the correct answer label value is set to 1 for only neurons corresponding to the correct answer, and the correct answer label value is set to 0 for neurons that are not correct answers.
- a learning optimization algorithm can be used to minimize the loss function, and the learning optimization algorithm is gradient descent (GD), stochastic gradient descent (SGD), and momentum. ), NAG (Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam, and the like.
- GD gradient descent
- SGD stochastic gradient descent
- momentum momentum
- NAG Nesterov Accelerate Gradient
- Adagrad AdaDelta
- RMSProp Adam
- Adam Nadam
- the gradient descent method may include a technique of adjusting a model parameter in a direction to reduce a loss function value by considering the slope of the loss function in the current state.
- the direction of adjusting the model parameters may be referred to as a step direction, and the adjusting size may be referred to as a step size.
- the step size may mean a learning rate.
- a gradient is obtained by partially differentiating a loss function into each model parameter, and the model parameters may be updated by changing the acquired gradient direction by a learning rate.
- the probabilistic gradient descent method may include a technique in which the frequency of gradient descent is increased by dividing the training data into mini-batch and performing gradient descent for each mini-batch.
- Adagrad, AdaDelta, and RMSProp may include techniques for increasing optimization accuracy by adjusting the step size in SGD.
- momentum and NAG may include a technique to increase optimization accuracy by adjusting the step direction.
- Adam can include a technique that increases optimization accuracy by adjusting the step size and step direction by combining momentum and RMSProp.
- Nadam may include a technique to increase optimization accuracy by adjusting step size and step direction by combining NAG and RMSProp.
- the learning speed and accuracy of the artificial neural network may include features that are highly dependent on hyperparameters, as well as the structure of the artificial neural network and the type of learning optimization algorithm. Therefore, in order to obtain a good learning model, it may be important not only to determine an appropriate artificial neural network structure and learning algorithm, but also to set appropriate hyperparameters.
- the hyperparameter can be set to an optimal value that provides a stable learning speed and accuracy by training an artificial neural network by experimentally setting various values.
- the sound that the robot 100 recognizes with a multi-channel microphone may include a user's voice including a starting word and other noise.
- the robot 100 may perform a command by recognizing a user's voice, and may notify the user when an abnormal sound is recognized.
- the abnormal sound refers to a sound that is not normally heard in a space in which the robot 100 resides, such as a voice of a third party other than a user or a sound generated when an object is damaged.
- the robot 100 When the robot 100 recognizes the user's voice and receives a voice similar to the user's voice, there is a high risk of malfunction.
- the sound output from the TV 10-2 includes a human voice, and the robot 100 may confuse the human voice with the user's voice, and the robot 100 may malfunction.
- information about noise that is normally heard in the space where the robot 100 resides is prepared in advance, and in consideration of information about the noise previously created in the sound received by the robot 100, the user's voice command is It provides a way to accurately recognize and recognize abnormal sounds.
- Information on noise may be created as a sound map and stored in the robot 100 or a server connected to the robot 100.
- the sound map may store at least one sound event ID related to noise that occurs routinely in a space where the robot 100 resides.
- a method of generating a sound map will be described.
- the sound map generation method may have the following steps.
- the robot 100 may receive ambient sound (S110).
- sound may be input to a multi-channel microphone provided in the robot 100 that recognizes the sound.
- the robot 100 may extract a directional sound from the input sound (S120). Since the multi-channel microphone independently receives the same sound from each channel, the robot 100 can extract a directional sound by grasping a difference in the same sound input through each channel.
- the robot 100 since the microphones connected to each channel of the multi-channel microphone are placed in a position spaced apart from each other, the robot 100 has a difference in arrival time of a signal introduced into each microphone, a structural difference in a sound waveform, a frequency response, etc. By analyzing the sound, you can extract directional sound. Meanwhile, in the same way, the robot 100 may determine the direction of a sound source that generates a directional sound input to a multi-channel microphone.
- the sound recognition performance of the robot 100 based on the sound map may be degraded, so it is appropriate not to record the sound map.
- the directional sound may be extracted by removing the sound without directional from the input sound by spatial filtering.
- spatial filtering of sound may be performed by removing a spatial frequency band in which non-directional sound is distributed.
- the robot 100 may detect a sound activity from a directional sound (S130).
- the sound section may mean a section in which a sound exists in a continuous sound input.
- the robot 100 may acquire a characteristic value of the sound existing in the detected sound section (S140).
- the sound characteristic value may include a direction angle and a frequency, and may further include amplitude, sound pressure, tone, and the like.
- the sound characteristic values may be the frequency, amplitude, sound pressure, and tone of the directional sound.
- the robot 100 may distinguish different sounds based on sound characteristic values and clearly distinguish input sounds based on this.
- the directional angle may be an angle indicating a position of a sound source generating the directional sound.
- the direction angle will be described with reference to FIGS. 3 to 5.
- 3 to 5 are views for explaining the operation of the robot 100 according to an embodiment.
- the robot 100 is placed on a table in front of a sofa where the user mainly stays in the user's residence.
- a sound source that generates everyday sounds may be disposed around the robot 100.
- the sound sources are speaker 1 (10-1), TV (10-2), speaker 2 (10-3), and air purifier (10-4).
- the robot 100 Since the sound sources of the speaker 1 (10-1), TV (10-2), and speaker 2 (10-3) can generate a sound similar to the user's voice command, the robot 100 Due to this confusion, a malfunction of the robot 100 may occur. This sound is recorded in the sound map, and the robot 100 can improve the speech recognition function by removing the sound when receiving a voice input. This will be described in detail below.
- the daily sounds generated by the speaker 1 (10-1), TV (10-2), speaker 2 (10-3), and air purifier (10-4) are recorded in the sound map, and the robot 100 An abnormal sound can be detected among input sounds based on the map. This will be described in detail below.
- the robot 100 may determine the direction of sound input to a multi-channel microphone.
- sound without directionality can be eliminated by spatial filtering.
- the direction of the sound can be derived from the direction angle and stored in the sound event ID and sound map.
- the direction angle is an angle indicating the position of the sound source from the reference line L1.
- the TV 10-2, the speaker 2 10-3, and the air purifier 10-4 may have a1, a2, and a3 direction angles, respectively, and the speaker may have a 4 direction angle.
- the direction angles a1 to a4 may be measured by a multi-channel microphone, as described above.
- the multi-channel microphone may also rotate.
- the arrangement angle of the multi-channel microphone with respect to the sound source is different, so the direction angle of the sound source measured by the multi-channel microphone may be different from the direction angle measured by the reference line L1.
- the direction angle may be derived by compensating the angle at which the head unit 110 rotates with the angle measured by the multi-channel microphone, that is, the angle with respect to the sound source measured by the multi-channel microphone.
- the head unit 110 and the multi-channel microphone are rotated counterclockwise by b1 with respect to the reference line L1.
- the angle b1 rotated by the head unit 110 and the angle b2 measured by the multi-channel microphone may be summed to derive the direction angle a3 for the air purifier 10-4.
- the head unit 110 and the multi-channel microphone are rotated by c1 clockwise with respect to the reference line L1.
- the direction angle a3 for the air purifier 10-4 can be derived by subtracting the angle c1 rotated by the head unit 110 from the angle c2 measured by the multi-channel microphone.
- the head part 110 of the robot 100 When the head part 110 of the robot 100 rotates on the z-x plane, it may rotate together with the multi-channel microphone. Even in this case, the direction angle may be derived by compensating the angle at which the head unit 110 rotates in the same way as the case where the head unit 110 rotates on the x-y plane.
- the robot 100 may generate a sound event ID including the acquired sound characteristic value (S150).
- the sound event ID is a record including the sound characteristic value, and an independent sound event ID may be generated for each sound of a different type.
- the robot 100 may count the number of occurrences of sounds having the same sound event ID (S160). The purpose is to remove abnormal sounds that are not routine and non-continuous among sounds received by the robot 100 because they do not need to be registered in the sound map. The robot 100 records the counted number of times in the sound event ID, and thus the number of occurrences of the sound may be recorded in the sound event ID.
- the robot 100 may store a sound event ID for a sound in which the number of occurrences exceeds a set value in the sound map (S170). As a result, information of everyday sounds can be stored in the sound map.
- the sound map stores a plurality of sound event IDs having different sound characteristic values, and the generated sound map may be stored in the robot 100 or a server connected to the robot 100.
- the sound map may be updated to include a newly added everyday sound, and to remove a previous everyday sound.
- the placement position of the robot 100 can be moved by a user.
- the position may be moved by traveling. Even in this case, the robot 100 may update the sound map by continuously generating a new sound map and replacing the existing sound map.
- 6 to 8 are flowcharts illustrating a method of recognizing a sound using a sound map according to an exemplary embodiment.
- a method of more accurately recognizing a user's voice command by using the sound map generated by the above-described method will be described.
- the robot 100 may receive a sound including a voice command (S210).
- the sound recognized by the robot 100 in the above step may include both a user's voice command and a daily sound registered in the sound map.
- the robot 100 may recognize a daily sound, that is, a sound currently generated from a sound source that generates noise, according to information on the daily sound registered in the sound map. To this end, the robot 100 may generate a steering vector in a noise direction using the previously registered sound map (S220).
- the robot 100 may acquire information on the direction of noise from a sound map previously generated and stored, and may generate a steering vector in the obtained noise direction.
- the robot 100 may read sound characteristic values such as a direction angle recorded in the sound map and generate a steering vector in the noise direction according to this.
- the steering vector may include information on an angle from the reference line L1 to a noise direction.
- the multi-channel microphone may also rotate. Accordingly, the steering vector may be derived by compensating the angle at which the head unit 110 rotates at the direction angle.
- a value obtained by compensating the angle at which the head unit 110 rotates in the direction angle recorded in the pre-registered sound map may be used as information on the angle of the steering vector.
- This angle compensation method is as described above with reference to FIGS. 3 to 5.
- the robot 100 may receive noise by performing sound beam forming in the direction in which the steering vector is generated (S230).
- the robot 100 beamforms in the direction of the steering vector, so that noise generated in the direction recorded in the sound map can be input more clearly and efficiently.
- the robot 100 may selectively recognize a sound input from a specific direction indicated by the steering vector through beamforming.
- beamforming for example, by giving different input values to each of the microphones provided in the multi-channel microphone, noise generated in the direction of the steering vector can be more accurately input.
- the robot 100 may receive a sound generated in a direction indicated by the steering vector (S231).
- the robot 100 may remove a human voice that is not registered in a previously generated and stored sound map (S232). Such human voice may be a voice command by a user in a direction in which noise exists. Subsequently, the step S232 is necessary to prevent the user's voice command from being removed in the step of removing the received sound (S260).
- the robot 100 may calculate a power spectral density matrix of noise input through beamforming (S240).
- the robot 100 may determine the spatial arrangement and distribution state of the input noise through the calculated PSD matrix.
- the robot 100 may calculate a PSD matrix of sound including the received voice command (S250).
- a user's voice command and daily noise may exist together.
- the robot 100 may derive the PSD matrix of the voice command by using the difference value between the PSD matrix of the sound including the voice command and the PSD matrix of the input noise as the PSD matrix of the voice command (S260). That is, a more accurate user's voice command can be derived by removing the noise acquired through beamforming from the sound in which the user's voice command and ordinary noise exist together.
- the robot 100 may recognize and execute a command from the PSD matrix of the user's voice command derived by the above method.
- the robot 100 may calculate a power spectral density (PSD) of an input noise (S233).
- PSD power spectral density
- the robot 100 may calculate a PSD matrix of the input noise from a plurality of PSDs of the input noise.
- a plurality of sound sources generating noise may be provided in a space in which the robot 100 resides. Therefore, the robot 100 calculates each PSD for noises input from each sound source, derives a plurality of calculated PSDs as a single PSD matrix, and sums up the plurality of noises in spatial arrangement and distribution. Etc. can be grasped.
- the robot 100 can more clearly recognize the user's voice command.
- the robot 100 uses a pre-registered sound map to generate abnormal sounds, for example, voices from a third party other than the user, sounds generated when an object is damaged, etc. It recognizes, and when an abnormal sound occurs, it can be notified to the user so that the user can prepare.
- abnormal sounds for example, voices from a third party other than the user, sounds generated when an object is damaged, etc. It recognizes, and when an abnormal sound occurs, it can be notified to the user so that the user can prepare.
- FIG. 9 is a flowchart illustrating a method for recognizing a sound using a sound map according to another exemplary embodiment.
- the sound recognition method according to the embodiment may include a sound event ID comparison step, an abnormal sound detection step, and an alarm step.
- the robot 100 may compare the first sound event ID generated in the step of generating the sound event ID (S150) and the previously generated and stored second sound event ID (S310 ). At this time, the second sound event ID is registered in the sound map.
- the sound event ID comparison step it is determined whether the first sound event ID and the second sound event ID match each other, and sound characteristic values held by each event ID are compared with each other.
- the robot 100 displays a direction angle indicating a position of a sound source generating a directional sound held by the first sound event ID and the second sound event ID as an angle, and the frequency of the directional sound. By comparing with each other, it is possible to determine whether each sound event ID coincides with each other.
- the robot 100 compares at least one of the amplitude, sound pressure, and tone of the directional sound held by the first sound event ID and the second sound event ID to determine whether each sound event ID matches each other. Can judge.
- the robot 100 may determine that an abnormal sound has not been generated.
- the alarm step when the abnormal sound is detected, the user is notified, so that the user can prepare for a situation in which the abnormal sound has occurred and take immediate action (S330).
- the alarm can use various methods, such as a method of reproducing or lighting an image on the display unit 130, and generating a warning sound.
- the robot 100 easily grasps whether an abnormal sound has occurred using a sound map, and the robot 100 notifies the user of the occurrence of an abnormal sound, so that the user can quickly respond to an unexpected situation or an emergency situation. .
- the above-described embodiments may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded in a computer-readable medium.
- the medium is a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magneto-optical medium such as a floptical disk, and a ROM.
- the computer program may be specially designed and configured for the present invention, or may be known and usable to those skilled in the computer software field.
- Examples of the computer program may include not only machine language codes produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like.
- the robot can more clearly recognize the user's voice command.
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Otolaryngology (AREA)
- General Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Manipulator (AREA)
Abstract
Disclosed are a sound map generation method and a sound recognition method using a sound map, which are applied to a robot capable of recognizing sounds. The sound map generation method comprises the steps of: receiving sounds; extracting directional sounds; detecting sound activities from the directional sounds; obtaining characteristic values of sounds present in the detected sound activities; generating sound event IDs including the obtained sound characteristic values; counting the number of times that sounds having the same sound event ID occur; and storing, in a sound map, the sound event IDs for the sounds of which the number of times of occurrence exceeds a set value.
Description
실시예는, 사용자의 음성명령을 포함한 사운드 인식이 가능한 로봇에 적용되는 사운드맵 생성방법 및 사운드맵을 이용한 사운드 인식방법에 관한 것이다.The embodiment relates to a sound map generation method applied to a robot capable of recognizing sound including a user's voice command and a sound recognition method using the sound map.
이 부분에 기술된 내용은 단순히 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the embodiment and does not constitute the prior art.
기술이 발달함에 따라 최근 많은 분야에서 음성 인식 기술을 적용한 각종 서비스들이 소개되고 있다. 음성 인식 기술은 사람이 발성하는 음성을 이해하여 컴퓨터가 다룰 수 있는 문자 정보로 변환하는 일련의 과정이라 할 수 있으며, 음성 인식 기술을 이용하는 음성 인식 서비스는 사용자의 음성을 인식하고 이에 해당하는 적합한 서비스를 제공하는 일련의 과정을 포함할 수 있다.With the development of technology, various services to which speech recognition technology are applied are being introduced in many fields recently. Speech recognition technology can be said to be a series of processes that understand human speech and convert it into text information that can be handled by a computer. Speech recognition service using speech recognition technology recognizes the user's voice and is an appropriate service for this. It may include a series of processes to provide.
한편, 사용자의 편의를 위해 제공되는 다양한 로봇에 음성인식 기술이 적용되고, 사용자의 음성명령을 로봇이 인식하여 명령을 수행하는 기술의 개발이 활발하게 연구되고 있다.On the other hand, voice recognition technology is applied to various robots provided for user convenience, and development of technology for performing commands by recognizing a user's voice command is being actively studied.
사운드를 인식하는 로봇에서 사용자의 음성명령과 이외의 잡음을 정확히 구별하는 기술이 중요하다.In a robot that recognizes sound, a technology that accurately distinguishes between a user's voice command and other noise is important.
한국 등록특허 10-1009854에는 음성인식과 관련하여, 음향 신호 처리 과정 중 음향 신호에 포함된 잡음을 추정하는 장치 및 방법이 개시된다. 그러나, 선행기술에는 TV 등에서 생성되는 사용자의 음성명령과 유사한 사운드로 인해 로봇이 음성명령을 혼동할 경우의 해결방법이 개시되지 않는다.Korean Patent Registration No. 10-1009854 discloses an apparatus and method for estimating noise contained in an acoustic signal during a process of processing an acoustic signal in relation to speech recognition. However, the prior art does not disclose a solution when a robot confuses a voice command due to a sound similar to a user's voice command generated on a TV or the like.
미국 공개특허 US 20180350379 A1에는 음성인식과 관련하여, 복수의 마이크로폰으로 입력되는 멀티채널 음성신호를 처리하는 기술이 개시된다. 그러나, 마찬가지로 선행기술에는 TV 등에서 생성되는 사용자의 음성명령과 유사한 사운드로 인해 로봇이 음성명령을 혼동할 경우의 해결방법이 개시되지 않는다.US Patent Publication No. US 20180350379 A1 discloses a technology for processing multi-channel voice signals input through a plurality of microphones in relation to voice recognition. However, similarly, the prior art does not disclose a solution when a robot confuses a voice command due to a sound similar to a user's voice command generated on a TV or the like.
실시예에서 해결하고자 하는 일 과제는 로봇이 사용자의 음성명령과 이와 유사한 잡음을 효과적으로 구별하도록 하여, 로봇의 음성인식 기능이 향상되는 방안을 제시하는 것이다.One problem to be solved in the embodiment is to propose a method for improving the voice recognition function of the robot by allowing the robot to effectively distinguish between a user's voice command and similar noise.
실시예의 또 다른 과제는 로봇의 움직임 특히, 회전에 의해 사용자의 음성명령을 정확하게 인식하지 못하는 문제에 대한 해결방안을 제시하는 것이다.Another object of the embodiment is to present a solution to the problem of not accurately recognizing the user's voice command due to the movement of the robot, particularly, rotation.
실시예의 또 다른 과제는 로봇이 사용자의 음성명령, 일상적인 잡음 이외에 비정상적인 사운드를 인식한 상황에서, 사용자에 대한 위험을 제거하기 위한 방안을 제시하는 것이다.Another task of the embodiment is to propose a method for removing a risk to the user in a situation in which the robot recognizes an abnormal sound other than a user's voice command and everyday noise.
실시예가 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 실시예가 속하는 기술분야에서 통상의 지식을 가진자에게 명확하게 이해될 수 있을 것이다.The technical problem to be achieved by the embodiment is not limited to the technical problem mentioned above, and other technical problems that are not mentioned will be clearly understood by those of ordinary skill in the technical field to which the embodiment belongs from the following description.
전술한 과제를 달성하기 위해, 로봇은 잡음에 관한 사운드이벤트 ID가 적어도 하나 저장되는 사운드맵을 생성하기 위한 사운드맵을 생성할 수 있다.In order to achieve the above-described task, the robot may generate a sound map for generating a sound map in which at least one sound event ID related to noise is stored.
사운드맵의 생성방법은, 사운드를 입력받는 단계, 방향성을 가진 사운드를 추출하는 단계, 방향성을 가진 사운드로부터 사운드 구간(sound activity)을 검출하는 단계, 검출된 사운드 구간에 존재하는 사운드의 특성값을 획득하는 단계, 획득된 사운드 특성값을 포함하는 사운드이벤트 ID를 생성하는 단계, 동일한 사운드이벤트 ID를 가진 사운드의 발생횟수를 카운트(count)하는 단계, 및 발생횟수가 설정값을 초과하는 사운드에 관한 사운드 이벤트 ID를 사운드맵에 저장하는 단계를 포함할 수 있다.The method of generating a sound map includes receiving a sound, extracting a directional sound, detecting a sound activity from a directional sound, and determining the characteristic value of the sound existing in the detected sound section. Acquiring, generating a sound event ID including the acquired sound characteristic value, counting the number of occurrences of sounds having the same sound event ID, and relating to a sound in which the number of occurrences exceeds a set value. It may include storing the sound event ID in the sound map.
사운드 특성값은, 방향성을 가진 사운드를 생성하는 음원의 위치를 각도로 표시하는 방향각, 및 방향성를 가진 사운드의 주파수를 포함할 수 있다.The sound characteristic value may include a direction angle indicating a position of a sound source generating a directional sound as an angle, and a frequency of the directional sound.
또한, 사운드 특성값은, 방향성을 가진 사운드의 진폭, 음압 및 음색 중 적어도 하나를 더 포함할 수 있다.In addition, the sound characteristic value may further include at least one of an amplitude, a sound pressure, and a tone color of a directional sound.
사운드맵은, 서로다른 사운드 특성값을 가지는 복수의 사운드 이벤트 ID를 저장할 수 있다.The sound map may store a plurality of sound event IDs having different sound characteristic values.
전술한 과제를 달성하기 위해, 로봇은 사운드맵을 이용하여 사용자의 음성명령을 포함한 사운드를 인식할 수 있다.In order to achieve the above-described task, the robot can recognize the sound including the user's voice command using the sound map.
사운드 인식방법의 일 실시예는, 음성명령을 포함하는 사운드를 입력받는 단계, 사운드맵을 이용하여 잡음 방향으로 스티어링벡터(steering vector)를 생성하는 단계, 스티어링벡터가 생성된 방향으로 사운드 빔포밍(beam forming)을 수행하여 잡음을 입력받는 단계, 입력된 잡음의 PSD매트릭스(power spectral density matrix)를 계산하는 단계, 음성명령을 포함하는 사운드의 PSD매트릭스를 계산하는 단계, 및 음성명령을 포함하는 사운드의 PSD매트릭스와 입력된 잡음의 PSD매트릭스의 차이값을 음성명령의 PSD매트릭스로 하는 음성명령의 PSD매트릭스 도출단계를 포함할 수 있다.One embodiment of the sound recognition method includes receiving a sound including a voice command, generating a steering vector in a noise direction using a sound map, and forming a sound beam in the direction in which the steering vector is generated ( receiving noise by performing beam forming), calculating a power spectral density matrix of the input noise, calculating a PSD matrix of sound including voice commands, and sound including voice commands It may include the step of deriving the PSD matrix of the voice command by using the difference value between the PSD matrix of the input noise and the PSD matrix of the input noise as the PSD matrix of the voice command.
사운드 인식방법의 다른 실시예는, 사운드이벤트 ID를 생성하는 단계에서 생성된 제1사운드이벤트 ID와 기 생성되어 저장된 제2사운드이벤트 ID를 서로 비교하는 사운드이벤트 ID 비교단계, 제1사운드이벤트 ID가 제2사운드이벤트 ID와 일치하지 않는 경우, 비정상 사운드가 검출된 것으로 판단하는 비정상 사운드 검출단계, 및 비정상 사운드가 검출되면 사용자에게 알리는 알람단계를 포함할 수 있다.Another embodiment of the sound recognition method is a sound event ID comparison step of comparing a first sound event ID generated in the step of generating a sound event ID and a previously generated and stored second sound event ID, and the first sound event ID If the second sound event ID does not match, an abnormal sound detection step of determining that the abnormal sound has been detected, and an alarm step of notifying a user when the abnormal sound is detected.
사운드 인식방법의 또 다른 실시예는, 사운드를 입력받는 단계, 방향성을 가진 사운드를 추출하는 단계, 방향성을 가진 사운드로부터 사운드 구간(sound activity)을 검출하는 단계, 검출된 사운드 구간에 존재하는 사운드의 특성값을 획득하는 단계, 획득된 사운드 특성값을 포함하는 사운드이벤트 ID를 생성하는 단계, 동일한 사운드이벤트 ID를 가진 사운드의 발생횟수를 카운트(count)하는 단계, 발생횟수가 설정값을 초과하는 사운드에 관한 사운드 이벤트 ID를 사운드맵에 저장하는 단계, 음성명령을 포함하는 사운드를 입력받는 단계, 사운드맵을 이용하여 잡음 방향으로 스티어링벡터(steering vector)를 생성하는 단계, 스티어링벡터가 생성된 방향으로 사운드 빔포밍(beam forming)을 수행하여 잡음을 입력받는 단계, 입력된 잡음의 PSD매트릭스(power spectral density matrix)를 계산하는 단계, 음성명령을 포함하는 사운드의 PSD매트릭스를 계산하는 단계, 및 음성명령을 포함하는 사운드의 PSD매트릭스와 입력된 잡음의 PSD매트릭스의 차이값을 음성명령의 PSD매트릭스로 하는 음성명령의 PSD매트릭스 도출단계를 포함할 수 있다.Another embodiment of the sound recognition method includes receiving a sound, extracting a directional sound, detecting a sound activity from a directional sound, and detecting the sound existing in the detected sound section. Acquiring a characteristic value, generating a sound event ID including the obtained sound characteristic value, counting the number of occurrences of a sound with the same sound event ID, a sound in which the number of occurrences exceeds a set value Storing a sound event ID for a sound map, receiving a sound including a voice command, generating a steering vector in the noise direction using the sound map, in the direction in which the steering vector was generated Performing sound beam forming to receive noise, calculating a power spectral density matrix of the input noise, calculating a PSD matrix of sound including voice commands, and voice commands It may include a step of deriving the PSD matrix of the voice command using the difference value between the PSD matrix of the sound including the PSD matrix of the sound and the PSD matrix of the input noise as the PSD matrix of the voice command.
사운드 인식방법의 또 다른 실시예는, 사운드를 입력받는 단계, 방향성을 가진 사운드를 추출하는 단계, 방향성을 가진 사운드로부터 사운드 구간을 검출하는 단계, 검출된 사운드 구간에 존재하는 사운드의 특성값을 획득하는 단계, 획득된 사운드 특성값을 포함하는 사운드이벤트 ID를 생성하는 단계, 동일한 사운드이벤트 ID를 가진 사운드의 발생횟수를 카운트하는 단계, 및 발생횟수가 설정값을 초과하는 사운드에 관한 사운드 이벤트 ID를 사운드맵에 저장하는 단계, 사운드이벤트 ID를 생성하는 단계에서 생성된 제1사운드이벤트 ID와 기 생성되어 저장된 제2사운드이벤트 ID를 서로 비교하는 사운드이벤트 ID 비교단계, 제1사운드이벤트 ID가 제2사운드이벤트 ID와 일치하지 않는 경우, 비정상 사운드가 검출된 것으로 판단하는 비정상 사운드 검출단계, 및 비정상 사운드가 검출되면 사용자에게 알리는 알람단계를 포함할 수 있다.Another embodiment of the sound recognition method includes receiving a sound, extracting a directional sound, detecting a sound section from a directional sound, and acquiring a characteristic value of the sound existing in the detected sound section. The steps of, generating a sound event ID including the obtained sound characteristic value, counting the number of occurrences of sounds having the same sound event ID, and calculating a sound event ID for a sound whose occurrence number exceeds a set value. The sound event ID comparison step of comparing the first sound event ID generated in the step of storing the sound map and the step of generating the sound event ID with the previously generated second sound event ID, and the first sound event ID is the second If the sound event ID does not match, the abnormal sound detection step of determining that the abnormal sound has been detected, and an alarm step of notifying the user when the abnormal sound is detected.
실시예에서 사운드맵을 생성하고, 생성된 사운드맵을 이용하여 로봇에 입력되는 잡음을 효과적으로 제거함으로써, 로봇은 사용자의 음성명령을 더욱 명확히 인식할 수 있다.In the embodiment, by generating a sound map and effectively removing noise input to the robot using the generated sound map, the robot can more clearly recognize the user's voice command.
실시예에서 사운드맵에 사용자의 음성명령과 혼동을 일으킬 수 있는 일상적인 사운드의 특성값을 기록하고, 사운드맵을 이용하여 이러한 일상적인 사운드를 제거함으로써, 로봇의 오작동을 효과적으로 억제할 수 있다.In the embodiment, by recording characteristic values of everyday sounds that may cause confusion with a user's voice command in a sound map, and removing such everyday sounds using a sound map, malfunction of the robot can be effectively suppressed.
실시예에서, 로봇의 헤드부의 회전에 관계없이 잡음의 생성방향을 파악할 수 있고, 빔포밍을 위한 스티어링벡터를 생성할 수 있다.In an embodiment, it is possible to determine the direction of noise generation regardless of the rotation of the head of the robot, and to generate a steering vector for beamforming.
실시예에서 로봇은 사운드맵을 사용하여 비정상 사운드가 발생하였는지를 용이하게 파악하고, 로봇은 비정상 사운드 발생을 사용자에게 알림으로써, 사용자는 돌발상황, 긴급상황에 신속하게 대처할 수 있다.In the embodiment, the robot easily grasps whether an abnormal sound has occurred using a sound map, and the robot notifies the user of the occurrence of the abnormal sound, so that the user can quickly respond to an unexpected or emergency situation.
도 1은 일 실시예에 따른 사운드를 인식하는 로봇을 나타낸 도면이다.1 is a diagram illustrating a robot that recognizes sound according to an exemplary embodiment.
도 2는 일 실시예에 따른 사운드맵 생성방법을 설명하기 위한 순서도이다.2 is a flowchart illustrating a method of generating a sound map according to an exemplary embodiment.
도 3 내지 도 5는 일 실시예에 따른 로봇의 작동을 설명하기 위한 도면이다.3 to 5 are views for explaining the operation of the robot according to an embodiment.
도 6 내지 도 8은 일 실시예에 따른 사운드맵을 이용한 사운드 인식방법을 설명하기 위한 순서도이다.6 to 8 are flowcharts illustrating a method of recognizing a sound using a sound map according to an exemplary embodiment.
도 9는 다른 실시예에 따른 사운드맵을 이용한 사운드 인식방법을 설명하기 위한 순서도이다.9 is a flowchart illustrating a method for recognizing a sound using a sound map according to another exemplary embodiment.
이하, 첨부된 도면들을 참조하여 실시예를 상세히 설명한다. 실시예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 실시예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 실시예의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Since the embodiments can be modified in various ways and have various forms, specific embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the embodiments to a specific form of disclosure, and it should be understood that all changes, equivalents, and substitutes included in the spirit and scope of the embodiments are included.
"제1", "제2" 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용된다. 또한, 실시예의 구성 및 작용을 고려하여 특별히 정의된 용어들은 실시예를 설명하기 위한 것일 뿐이고, 실시예의 범위를 한정하는 것이 아니다.Terms such as "first" and "second" may be used to describe various elements, but the elements should not be limited by the terms. The terms are used for the purpose of distinguishing one component from another component. In addition, terms specifically defined in consideration of the configuration and operation of the embodiment are only for describing the embodiment, and do not limit the scope of the embodiment.
실시예의 설명에 있어서, 각 element의 "상(위)" 또는 "하(아래)(on or under)"에 형성되는 것으로 기재되는 경우에 있어, 상(위) 또는 하(아래)(on or under)는 두개의 element가 서로 직접(directly)접촉되거나 하나 이상의 다른 element가 상기 두 element사이에 배치되어(indirectly) 형성되는 것을 모두 포함한다. 또한 “상(위)" 또는 "하(아래)(on or under)”로 표현되는 경우 하나의 element를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.In the description of the embodiment, in the case of being described as being formed on the "top (top)" or "bottom (on or under)" of each element, the top (top) or bottom (bottom) (on or under) ) Includes both elements in which two elements are in direct contact with each other or in which one or more other elements are indirectly formed between the two elements. In addition, when expressed as “up (up)” or “on or under”, the meaning of not only an upward direction but also a downward direction based on one element may be included.
또한, 이하에서 이용되는 "상/상부/위" 및 "하/하부/아래" 등과 같은 관계적 용어들은, 그런 실체 또는 요소들 간의 어떠한 물리적 또는 논리적 관계 또는 순서를 반드시 요구하거나 내포하지는 않으면서, 어느 한 실체 또는 요소를 다른 실체 또는 요소와 구별하기 위해서 이용될 수도 있다.In addition, relational terms such as "top/top/top" and "bottom/bottom/bottom" used below do not necessarily require or imply any physical or logical relationship or order between such entities or elements, It may be used to distinguish one entity or element from another entity or element.
도 1은 일 실시예에 따른 사운드를 인식하는 로봇(100)을 나타낸 도면이다. 로봇(100)은 사용자의 음성을 인식하여 사용자가 요구하는 명령을 수행할 수 있는 음성인식 기능을 가질 수 있다. 로봇(100)은 가정용, 산업용 기타 다양한 용도로 사용될 수 있다.1 is a diagram illustrating a robot 100 that recognizes sound according to an exemplary embodiment. The robot 100 may have a voice recognition function capable of performing a command requested by the user by recognizing the user's voice. The robot 100 can be used for home, industrial and other various purposes.
로봇(100)은 헤드부(110), 바디(120) 및 디스플레이부(130)를 포함할 수 있다. 디스플레이부(130)는 사용자와 로봇(100)이 인터랙션(interaction)을 하기 위해 필요한 영상 예를 들어 동작모드, 동작상태, 에러상태, 기타 필요한 영상, 기쁜 상태, 우울한 상태 등 감성적인 표현 등을 나타낼 수 있다. 디스플레이부(130)는 헤드부(110)와 일체로 결합하여 헤드부(110)의 움직임에 따라 함께 움직일 수 있다.The robot 100 may include a head unit 110, a body 120, and a display unit 130. The display unit 130 displays an image necessary for the user and the robot 100 to interact, for example, an operation mode, an operation state, an error state, other necessary images, a happy state, a depressed state, etc. I can. The display unit 130 may be integrally combined with the head unit 110 and may move together according to the movement of the head unit 110.
상기 로봇(100)은 회전가능한 헤드부(110)를 구비할 수 있다. 도 1을 참조하면, 예를 들어, 헤드부(110)는 바디(120)에 피벗(pivot) 형태로 결합하여 바디(120)에 대하여 3차원적인 움직임이 가능하다.The robot 100 may include a rotatable head unit 110. Referring to FIG. 1, for example, the head unit 110 is coupled to the body 120 in a pivot form to allow a three-dimensional movement with respect to the body 120.
즉, 도 1의 (b)에 도시된 바와 같이, 헤드부(110)는 x-y평면상으로 회전가능하고, 또한 도 1의 (c)에 도시된 바와 같이, 헤드부(110)는 z-x평면상으로 회전도 가능하게 구비될 수 있다. 따라서 헤드부(110)는 바디(120)에 대하여 3차원적인 능동적인 동작이 가능하다.That is, as shown in (b) of Figure 1, the head portion 110 is rotatable on the xy plane, and as shown in (c) of Figure 1, the head portion 110 is on the zx plane It can also be provided to enable rotation. Accordingly, the head unit 110 can actively operate in three dimensions with respect to the body 120.
한편, 로봇(100)은 서버와 연결되는 통신부를 구비하여, 로봇(100)과 서버는 서로 정보을 주고받을 수 있다. 또한, 로봇(100)은 실시예로 설명되는 각 단계에서 요구하는 연산 및 동작을 수행하기 위해 필요한 연산부, 제어부를 구비하고, 필요한 정보를 저장하는 저장부를 구비할 수도 있다.Meanwhile, the robot 100 includes a communication unit connected to the server, so that the robot 100 and the server may exchange information with each other. In addition, the robot 100 may include an operation unit and a control unit necessary to perform operations and operations required in each step described in the embodiment, and may include a storage unit for storing necessary information.
또한, 로봇(100)은 멀티채널 마이크, 스피커를 구비할 수 있다. 멀티채널 마이크는 적어도 2개의 서로다른 채널에서 각각 사운드를 입력받을 수 있다. 각 채널은 적어도 하나의 독립된 마이크를 구비할 수 있고, 이러한 복수의 마이크들은 서로 일정거리 이격되어 구비될 수 있다.In addition, the robot 100 may include a multi-channel microphone and a speaker. The multi-channel microphone can receive sound from at least two different channels, respectively. Each channel may include at least one independent microphone, and such a plurality of microphones may be provided at a predetermined distance from each other.
각 채널들은 동일한 사운드를 각각 독립적으로 입력받으며, 인간이 2개의 귀에서 동일한 사운드를 각각 독립적으로 입력받고 입력받은 사운드의 차이를 파악하여 사운드가 발생하는 방향을 인식하는 것처럼, 로봇(100)은 각 채널들로 입력받는 동일한 사운드의 차이를 파악하여 사운드가 발생하는 방향을 파악할 수 있다.Each channel receives the same sound independently, and as a human receives the same sound independently from two ears and recognizes the difference between the received sound and recognizes the direction in which the sound is generated, the robot 100 It is possible to determine the direction in which the sound is generated by grasping the difference between the same sound input through the channels.
스피커는 사용자에게 필요한 사운드를 출력할 수 있다. 로봇(100)은 스피커를 통해 사용자에게 음성, 알람 등을 전달하거나, 사용자에게 음악을 들려줄 수도 있다.The speaker can output the sound required by the user. The robot 100 may transmit a voice or an alarm to a user through a speaker or may play music to the user.
멀티채널 마이크와 스피커는 로봇(100)의 적절한 위치에 배치될 수 있다. 실시예에서 멀티채널 마이크는 로봇(100)의 헤드부(110)에 구비될 수 있다. 이러한 경우 헤드부(110)가 회전하므로, 상기 헤드부(110)의 회전에 따라 함께 회전하여 3차원적으로 동작하도록 구비될 수 있다.The multi-channel microphone and speaker may be placed in an appropriate position on the robot 100. In an embodiment, the multi-channel microphone may be provided on the head portion 110 of the robot 100. In this case, since the head unit 110 rotates, it may be provided to rotate together with the rotation of the head unit 110 to operate in three dimensions.
로봇(100)은 이동 통신 모듈을 포함하고, 상기 이동 통신 모듈을 통해 서버, 사용자가 보유하는 사용자단말 등과 통신할 수 있다. 여기서, 이동 통신 모듈은 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등) 및 5G(Generation) 통신에 따라 구축된 이동 통신망 상에서 무선신호를 송수신할 수 있다.The robot 100 includes a mobile communication module, and may communicate with a server, a user terminal held by a user, and the like through the mobile communication module. Here, the mobile communication module includes technical standards or communication methods for mobile communication (for example, GSM (Global System for Mobile Communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000)), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.) and 5G (Generation) communication.
마찬가지로, 로봇(100), 서버, 사용자단말도 전술한 5G 통신 모듈을 구비할 수 있다. 이 경우, 로봇(100), 서버, 사용자단말은 100Mbps 내지 20Gbps 속도로 데이터를 전송할 수 있어서, 대용량의 음성 또는 이미지데이터를 매우 빠르게 전송할 수 있다. 이에 따라, 서버 및 사용자단말은 로봇(100)으로부터 전송되는 대용량의 음성 또는 이미지데이터를 보다 빨리 보다 정확하게 인식할 수 있다.Similarly, the robot 100, the server, and the user terminal may also include the 5G communication module described above. In this case, since the robot 100, the server, and the user terminal can transmit data at a speed of 100 Mbps to 20 Gbps, a large amount of voice or image data can be transmitted very quickly. Accordingly, the server and the user terminal can more accurately recognize a large amount of voice or image data transmitted from the robot 100 more quickly.
5G 통신 모듈을 구비한 로봇(100), 서버, 사용자단말은 각종 사물 지능 통신(IoT(Internet of Things), IoE(Internet of Everything), IoST(Internet of Small Things) 등)을 지원할 수 있으며, 로봇(100)은 M2M(Machine to Machine) 통신, V2X(Vehicle to Everything Communication) 통신, D2D(Device to Device) 통신 등을 지원할 수 있다. 이에 따라, 로봇(100)은 다양한 기기와 공간 상에서 취득할 수 있는 정보를 매우 효율적으로 서로 공유할 수 있다.The robot 100, server, and user terminal equipped with a 5G communication module can support various intelligent communication of things (Internet of Things (IoT), Internet of Everything (IoE), Internet of Small Things (IoST), etc.)), and the robot The 100 may support machine to machine (M2M) communication, vehicle to everything communication (V2X) communication, and device to device (D2D) communication. Accordingly, the robot 100 can very efficiently share information that can be acquired on various devices and spaces with each other.
로봇(100)은 입력받는 사용자의 음성명령에 대하여 딥러닝(Deep Learning) 등 머신 러닝(machine learning)을 수행할 수 있고, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.The robot 100 may perform machine learning such as deep learning for an input user's voice command, and may store data and result data used for machine learning.
머신 러닝은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야를 포함할 수 있다. 구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다. 용어 ‘머신 러닝’은 용어 ‘기계 학습’과 혼용되어 사용될 수 있다.Machine learning is a branch of artificial intelligence, which can include a field of research that gives computers the ability to learn without explicit programming. Specifically, machine learning can be said to be a technology that studies and builds a system that learns based on empirical data, performs prediction, and improves its own performance, and algorithms for it. Machine learning algorithms can take a way to build specific models to derive predictions or decisions based on input data, rather than executing strictly defined static program instructions. The term'machine learning' can be used interchangeably with the term'machine learning'.
기계 학습에서 데이터를 어떻게 분류할 것인가를 놓고, 많은 기계 학습 알고리즘이 개발되었다. 의사결정나무(Decision Tree)나 베이지안 망(Bayesian network), 서포트벡터머신(SVM: support vector machine), 그리고 인공 신경망(ANN: Artificial Neural Network) 등을 대표적으로 포함할 수 있다.In terms of how to classify data in machine learning, many machine learning algorithms have been developed. It may include a decision tree, a Bayesian network, a support vector machine (SVM), and an artificial neural network (ANN).
의사결정나무는 의사결정규칙(Decision Rule)을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법을 포함할 수 있다.The decision tree may include an analysis method that performs classification and prediction by charting decision rules into a tree structure.
베이지안 망은 다수의 변수들 사이의 확률적 관계(조건부독립성: conditional independence)를 그래프 구조로 표현하는 모델을 포함할 수 있다. 베이지안 망은 비지도 학습(unsupervised learning)을 통한 데이터마이닝(data mining)에 적합할 수 있다.The Bayesian network may include a model that expresses a probabilistic relationship (conditional independence) between multiple variables in a graph structure. Bayesian networks may be suitable for data mining through unsupervised learning.
서포트벡터머신은 패턴인식과 자료분석을 위한 지도 학습(supervised learning)의 모델이며, 주로 분류와 회귀분석을 위해 사용할 수 있다.The support vector machine is a model of supervised learning for pattern recognition and data analysis, and can be used mainly for classification and regression analysis.
한편, 로봇(100)에는 인공신경망(artificial neural network)이 탑재될 수 있고, 수신되는 음성 입력 신호를 입력 데이터로 하는 머신 러닝 기반의 사용자 인식 및 사용자의 음성 인식을 수행할 수 있다.Meanwhile, the robot 100 may be equipped with an artificial neural network, and may perform machine learning-based user recognition and user voice recognition using a received voice input signal as input data.
인공신경망은 생물학적 뉴런의 동작원리와 뉴런간의 연결 관계를 모델링한 것으로 노드(node) 또는 처리 요소(processing element)라고 하는 다수의 뉴런들이 레이어(layer) 구조의 형태로 연결된 정보처리 시스템을 포함할 수 있다. 인공 신경망은 기계 학습에서 사용되는 모델로써, 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계 중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘을 포함할 수 있다. 구체적으로 인공신경망은 시냅스(synapse)의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다.An artificial neural network is a model of the principle of operation of biological neurons and the connection relationship between neurons, and can include an information processing system in which a number of neurons called nodes or processing elements are connected in the form of a layer structure. have. Artificial neural networks are models used in machine learning and can include statistical learning algorithms inspired by biological neural networks (especially the brain among animals' central nervous systems) in machine learning and cognitive science. Specifically, the artificial neural network may refer to an overall model having problem-solving ability by changing the strength of synaptic bonding through learning by artificial neurons (nodes) that form a network by combining synapses.
용어 인공신경망은 용어 뉴럴 네트워크(Neural Network)와 혼용되어 사용될 수 있다.The term artificial neural network may be used interchangeably with the term neural network.
인공신경망은 복수의 레이어(layer)를 포함할 수 있고, 레이어들 각각은 복수의 뉴런(neuron)을 포함할 수 있다. 또한 인공신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.The artificial neural network may include a plurality of layers, and each of the layers may include a plurality of neurons. In addition, artificial neural networks may include synapses that connect neurons and neurons.
인공 신경망은 일반적으로 다음의 세가지 인자, 즉 (1) 다른 레이어의 뉴런들 사이의 연결 패턴 (2) 연결의 가중치를 갱신하는 학습 과정 (3) 이전 레이어로부터 수신되는 입력에 대한 가중 합으로부터 출력값을 생성하는 활성화 함수에 의해 정의될 수 있다.Artificial neural networks generally have three factors: (1) the connection pattern between neurons in different layers (2) the learning process to update the weight of the connection (3) the output value from the weighted sum of the input received from the previous layer It can be defined by the activation function it creates.
로봇(100)은 인공 신경망, 예를 들어, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network), MLP(Multilayer Perceptron), CNN(Convolutional Neural Network)와 같은 방식의 네트워크 모델들을 포함할 수 있으나, 이에 한정되지 않는다.The robot 100 is an artificial neural network, for example, in a manner such as DNN (Deep Neural Network), RNN (Recurrent Neural Network), BRDNN (Bidirectional Recurrent Deep Neural Network), MLP (Multilayer Perceptron), CNN (Convolutional Neural Network). Network models of may be included, but are not limited thereto.
본 명세서에서 용어 ‘레이어’는 용어 ‘계층’과 혼용되어 사용될 수 있다.In the present specification, the term'layer' may be used interchangeably with the term'layer'.
인공신경망은 계층 수에 따라 단층 신경망(Single-Layer Neural Networks)과 다층 신경망(Multi-Layer Neural Networks)으로 구분될 수 있다.Artificial neural networks can be classified into Single-Layer Neural Networks and Multi-Layer Neural Networks according to the number of layers.
일반적인 단층 신경망은, 입력층과 출력층으로 구성될 수 있다. 또한 일반적인 다층 신경망은 입력층(Input Layer)과 하나 이상의 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성될 수 있다.A general single-layer neural network can be composed of an input layer and an output layer. In addition, a general multilayer neural network may include an input layer, one or more hidden layers, and an output layer.
입력층은 외부의 자료들을 받아들이는 층으로서, 입력층의 뉴런 수는 입력되는 변수의 수와 동일하며, 은닉층은 입력층과 출력층 사이에 위치하며 입력층으로부터 신호를 받아 특성을 추출하여 출력층으로 전달할 수 있다. 출력층은 은닉층으로부터 신호를 받고, 수신한 신호에 기반한 출력 값을 출력한다. 뉴런간의 입력신호는 각각의 연결강도(가중치)와 곱해진 후 합산되며 이 합이 뉴런의 임계치보다 크면 뉴런이 활성화되어 활성화 함수를 통하여 획득한 출력값을 출력할 수 있다.The input layer is a layer that receives external data, and the number of neurons in the input layer is the same as the number of input variables, and the hidden layer is located between the input layer and the output layer, receives signals from the input layer, extracts features, and transfers them to the output layer. I can. The output layer receives a signal from the hidden layer and outputs an output value based on the received signal. The input signal between neurons is multiplied by each connection strength (weight) and then summed. If the sum is greater than the neuron's threshold, the neuron is activated and the output value obtained through the activation function can be output.
한편 입력층과 출력층 사이에 복수의 은닉층을 포함하는 심층 신경망은, 기계 학습 기술의 한 종류인 딥 러닝을 구현하는 대표적인 인공 신경망일 수 있다.Meanwhile, a deep neural network including a plurality of hidden layers between an input layer and an output layer may be a representative artificial neural network that implements deep learning, a type of machine learning technology.
한편 용어 ‘딥 러닝’은 용어 ‘심층 학습’과 혼용되어 사용될 수 있다.Meanwhile, the term'deep learning' can be used interchangeably with the term'deep learning'.
인공 신경망은 훈련 데이터(training data)를 이용하여 학습(training)될 수 있다. 여기서 학습이란, 입력 데이터를 분류(classification)하거나 회귀분석(regression)하거나 군집화(clustering)하는 등의 목적을 달성하기 위하여, 학습 데이터를 이용하여 인공 신경망의 파라미터(parameter)를 결정하는 과정을 의미할 수 있다. 인공 신경망의 파라미터의 대표적인 예시로써, 시냅스에 부여되는 가중치(weight)나 뉴런에 적용되는 편향(bias)을 들 수 있다.The artificial neural network can be trained using training data. Here, learning means a process of determining parameters of an artificial neural network using training data in order to achieve the purpose of classifying, regressing, or clustering input data. I can. Representative examples of parameters of an artificial neural network include weights applied to synapses or biases applied to neurons.
훈련 데이터에 의하여 학습된 인공 신경망은, 입력 데이터를 입력 데이터가 가지는 패턴에 따라 분류하거나 군집화 할 수 있다. The artificial neural network learned by the training data may classify or cluster input data according to patterns of the input data.
한편 훈련 데이터를 이용하여 학습된 인공 신경망을, 본 명세서에서는 학습 모델(a trained model)이라 명칭 할 수 있다.Meanwhile, an artificial neural network trained using training data may be referred to as a trained model in this specification.
다음은 로봇(100)이 수행하는 인공 신경망의 학습 방식에 대하여 설명한다.Next, a learning method of an artificial neural network performed by the robot 100 will be described.
인공 신경망의 학습 방식은 크게, 지도 학습, 비 지도 학습, 준 지도 학습(Semi-Supervised Learning), 강화 학습(Reinforcement Learning)으로 분류될 수 있다.Learning methods of artificial neural networks can be classified into supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning.
지도 학습은 훈련 데이터로부터 하나의 함수를 유추해내기 위한 기계 학습의 한 방법을 포함할 수 있다.Supervised learning may include a method of machine learning to infer a function from training data.
그리고 이렇게 유추되는 함수 중, 연속 적인 값을 출력하는 것을 회귀분석(Regression)이라 하고, 입력 벡터의 클래스(class)를 예측하여 출력하는 것을 분류(Classification)라고 할 수 있다.And among the functions to be inferred, outputting a continuous value is called regression, and predicting and outputting the class of an input vector can be called classification.
지도 학습에서는, 훈련 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시킬 수 있다.In supervised learning, an artificial neural network can be trained while a label for training data is given.
여기서 레이블이란, 훈련 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.Here, the label may mean a correct answer (or result value) that the artificial neural network must infer when training data is input to the artificial neural network.
본 명세서에서는 훈련 데이터가 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과값)을 레이블 또는 레이블링 데이터(labeling data)이라 명칭 할 수 있다.In this specification, when training data is input, the correct answer (or result value) to be inferred by the artificial neural network may be referred to as a label or labeling data.
또한 본 명세서에서는, 인공 신경망의 학습을 위하여 훈련 데이터에 레이블을 설정하는 것을, 훈련 데이터에 레이블링 데이터를 레이블링(labeling) 한다고 명칭할 수 있다.In addition, in the present specification, setting a label on training data for learning an artificial neural network may be referred to as labeling the training data with labeling data.
이 경우 훈련 데이터와 훈련 데이터에 대응하는 레이블)은 하나의 트레이닝 셋(training set)을 구성하고, 인공 신경망에는 트레이닝 셋의 형태로 입력될 수 있다.In this case, the training data and the label corresponding to the training data) constitute one training set, and may be input to the artificial neural network in the form of a training set.
한편 훈련 데이터는 복수의 특징(feature)을 나타내고, 훈련 데이터에 레이블이 레이블링 된다는 것은 훈련 데이터가 나타내는 특징에 레이블이 달린다는 것을 의미할 수 있다. 이 경우 훈련 데이터는 입력 객체의 특징을 벡터 형태로 나타낼 수 있다.Meanwhile, the training data represents a plurality of features, and labeling of the training data may mean that a label is attached to the feature represented by the training data. In this case, the training data may represent the characteristics of the input object in the form of a vector.
인공 신경망은 훈련 데이터와 레이블링 데이터를 이용하여, 훈련 데이터와 레이블링 데이터의 연관 관계에 대한 함수를 유추할 수 있다. 그리고, 인공 신경망에서 유추된 함수에 대한 평가를 통해 인공 신경망의 파라미터가 결정(최적화)될 수 있다.The artificial neural network can infer a function for the correlation between the training data and the labeling data using the training data and the labeling data. In addition, parameters of the artificial neural network may be determined (optimized) through evaluation of a function inferred from the artificial neural network.
비 지도 학습은 기계 학습의 일종으로, 훈련 데이터에 대한 레이블이 주어지지 않을 수 있다.Unsupervised learning is a kind of machine learning, and labels for training data may not be given.
구체적으로, 비 지도 학습은, 훈련 데이터 및 훈련 데이터에 대응하는 레이블의 연관 관계보다는, 훈련 데이터 자체에서 패턴을 찾아 분류하도록 인공 신경망을 학습시키는 학습 방법일 수 있다.Specifically, the unsupervised learning may be a learning method for training an artificial neural network to find and classify patterns in the training data itself, rather than an association relationship between training data and a label corresponding to the training data.
비 지도 학습의 예로는, 군집화 또는 독립 성분 분석(Independent Component Analysis)을 들 수 있다.Examples of unsupervised learning include clustering or independent component analysis.
본 명세서에서 용어 ‘군집화’는 용어 ‘클러스터링’과 혼용되어 사용될 수 있다.In the present specification, the term'clustering' may be used interchangeably with the term'clustering'.
비지도 학습을 이용하는 인공 신경망의 일례로 생성적 적대 신경망(GAN: generative adversarial network), 오토 인코더(AE: autoencoder)를 들 수 있다.Examples of artificial neural networks using unsupervised learning include a generative adversarial network (GAN) and an autoencoder (AE).
생성적 적대 신경망이란, 생성기(generator)와 판별기(discriminator), 두 개의 서로 다른 인공지능이 경쟁하며 성능을 개선하는 머신 러닝 방법을 포함할 수 있다.The generative adversarial neural network may include a generator and a discriminator, a machine learning method in which two different artificial intelligences compete and improve performance.
이 경우 생성기는 새로운 데이터를 창조하는 모형으로, 원본 데이터를 기반으로 새로운 데이터를 생성할 수 있다.In this case, the generator is a model that creates new data and can create new data based on the original data.
또한 판별기는 데이터의 패턴을 인식하는 모형으로, 입력된 데이터가 원본 데이터인지 또는 생성기에서 생성한 새로운 데이터인지 여부를 감별하는 역할을 수행할 수 있다.Also, the discriminator is a model that recognizes a pattern of data, and may play a role of discriminating whether the input data is original data or new data generated by the generator.
그리고 생성기는 판별기를 속이지 못한 데이터를 입력 받아 학습하며, 판별기는 생성기로부터 속은 데이터를 입력 받아 학습할 수 있다. 이에 따라 생성기는 판별기를 최대한 잘 속이도록 진화할 수 있고, 판별기는 원본 데이터와 생성기에 의해 생성된 데이터를 잘 구분하도록 진화할 수 있다.In addition, the generator learns by receiving data that cannot be deceived by the discriminator, and the discriminator can learn by receiving deceived data from the generator. Accordingly, the generator can evolve to deceive the discriminator as well as possible, and the discriminator can evolve to distinguish between the original data and the data generated by the generator.
오토 인코더는 입력 자체를 출력으로 재현하는 것을 목표로 하는 신경망을 포함할 수 있다.Auto encoders can include neural networks aiming to reproduce the input itself as an output.
오토 인코더는 입력층, 적어도 하나의 은닉층 및 출력층을 포함할 수 있다. 이 경우 은닉 계층의 노드 수가 입력 계층의 노드 수보다 적으므로 데이터의 차원이 줄어들게 되며, 이에 따라 압축 또는 인코딩이 수행될 수 있다.The auto encoder may include an input layer, at least one hidden layer, and an output layer. In this case, since the number of nodes in the hidden layer is smaller than the number of nodes in the input layer, the dimension of the data is reduced, and compression or encoding may be performed accordingly.
또한 은닉 계층에서 출력한 데이터는 출력 계층으로 들어갈 수 있다. 이 경우 출력 계층의 노드 수는 은닉 계층의 노드 수보다 많으므로, 데이터의 차원이 늘어나게 되며, 이에 따라 압축 해제 또는 디코딩이 수행될 수 있다.In addition, data output from the hidden layer can enter the output layer. In this case, since the number of nodes in the output layer is greater than the number of nodes in the hidden layer, the dimension of the data increases, and accordingly, decompression or decoding may be performed.
한편 오토 인코더는 학습을 통해 뉴런의 연결 강도를 조절함으로써 입력 데이터가 은닉층 데이터로 표현될 수 있다. 은닉층에서는 입력층보다 적은 수의 뉴런으로 정보를 표현하는데 입력 데이터를 출력으로 재현할 수 있다는 것은, 은닉층이 입력 데이터로부터 숨은 패턴을 발견하여 표현했다는 것을 의미할 수 있다.Meanwhile, the auto-encoder adjusts the connection strength of neurons through learning, so that input data can be expressed as hidden layer data. In the hidden layer, information is expressed with fewer neurons than in the input layer, but being able to reproduce the input data as an output may mean that the hidden layer found and expressed a hidden pattern from the input data.
준 지도 학습은 기계 학습의 일종으로, 레이블이 주어진 훈련 데이터와 레이블이 주어지지 않은 훈련 데이터를 모두 사용하는 학습 방법을 의미할 수 있다.Semi-supervised learning is a kind of machine learning, and may mean a learning method using both labeled training data and unlabeled training data.
준 지도 학습의 기법 중 하나로, 레이블이 주어지지 않은 훈련 데이터의 레이블을 추론한 후 추론된 라벨을 이용하여 학습을 수행하는 기법이 있으며, 이러한 기법은 레이블링에 소요되는 비용이 큰 경우에 유용하게 사용될 수 있다.As one of the techniques of semi-supervised learning, there is a technique of inferring a label of training data that is not given a label and then performing learning using the inferred label. This technique is useful when the cost of labeling is high. I can.
강화 학습은, 에이전트(Agent)가 매 순간 어떤 행동을 해야 좋을지 판단할 수 있는 환경이 주어진다면, 데이터 없이 경험으로 가장 좋을 길을 찾을 수 있다는 이론을 포함할 수 있다.Reinforcement learning may include the theory that given an environment in which an agent can judge what action to do at every moment, it can find the best way to experience without data.
강화 학습은 주로 마르코프 결정 과정(MDP: Markov Decision Process)에 의하여 수행될 수 있다.Reinforcement learning can be mainly performed by the Markov Decision Process (MDP).
마르코프 결정 과정을 설명하면, 첫 번째로 에이전트가 다음 행동을 하기 위해 필요한 정보들이 구성된 환경이 주어지며, 두 번째로 그 환경에서 에이전트가 어떻게 행동할지 정의하고, 세 번째로 에이전트가 무엇을 잘하면 보상(reward)을 주고 무엇을 못하면 벌점(penalty)을 줄지 정의하며, 네 번째로 미래의 보상이 최고점에 이를 때까지 반복 경험하여 최적의 정책(policy)을 도출할 수 있다.Explaining the Markov decision process, first, an environment is given where the information necessary for the agent to perform the next action is given, second, it defines how the agent will behave in that environment, and third, if the agent does something well, it is rewarded ( Reward) is given and the penalty is given for failing to do something, and fourth, it is possible to derive the optimal policy by repeatedly experiencing it until the future reward reaches its peak.
인공 신경망은 모델의 구성, 활성 함수(Activation Function), 손실 함수(Loss Function) 또는 비용 함수(Cost Function), 학습 알고리즘, 최적화 알고리즘 등에 의해 그 구조가 특정되며, 학습 전에 하이퍼파라미터(Hyperparameter)가 미리 설정되고, 이후에 학습을 통해 모델 파라미터(Model Parameter)가 설정되어 내용이 특정될 수 있다.The structure of the artificial neural network is specified by the configuration of the model, activation function, loss function or cost function, learning algorithm, optimization algorithm, etc., and hyperparameters are pre-trained. It is set, and then, a model parameter is set through learning, so that the content can be specified.
예컨대, 인공 신경망의 구조를 결정하는 요소에는 은닉층의 개수, 각 은닉층에 포함된 은닉 노드의 개수, 입력 특징 벡터(Input Feature Vector), 대상 특징 벡터(Target Feature Vector) 등이 포함될 수 있다.For example, factors determining the structure of an artificial neural network may include the number of hidden layers, the number of hidden nodes included in each hidden layer, an input feature vector, a target feature vector, and the like.
하이퍼파라미터는 모델 파라미터의 초기값 등과 같이 학습을 위하여 초기에 설정하여야 하는 여러 파라미터들을 포함할 수 있다. 그리고, 모델 파라미터는 학습을 통하여 결정하고자 하는 여러 파라미터들을 포함할 수 있다.Hyperparameters may include several parameters that must be initially set for learning, such as initial values of model parameters. And, the model parameter may include several parameters to be determined through learning.
예컨대, 하이퍼파라미터에는 노드 간 가중치 초기값, 노드 간 편향 초기값, 미니 배치(Mini-batch) 크기, 학습 반복 횟수, 학습률(Learning Rate) 등이 포함될 수 있다. 그리고, 모델 파라미터에는 노드 간 가중치, 노드 간 편향 등이 포함될 수 있다.For example, the hyperparameter may include an initial weight value between nodes, an initial bias value between nodes, a mini-batch size, a number of learning iterations, and a learning rate. In addition, the model parameters may include weights between nodes, biases between nodes, and the like.
손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표(기준)로 이용될 수 있다. 인공 신경망에서 학습은 손실 함수를 줄이기 위하여 모델 파라미터들을 조작하는 과정을 의미하며, 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다.The loss function can be used as an index (reference) for determining an optimal model parameter in the learning process of the artificial neural network. In artificial neural networks, learning refers to the process of manipulating model parameters to reduce the loss function, and the purpose of learning can be seen as determining model parameters that minimize the loss function.
손실 함수는 주로 평균 제곱 오차(MSE: Mean Squared Error) 또는 교차 엔트로피 오차(CEE, Cross Entropy Error)를 사용할 수 있으며, 본 발명이 이에 한정되지는 않는다. The loss function may mainly use a mean squared error (MSE) or a cross entropy error (CEE), but the present invention is not limited thereto.
교차 엔트로피 오차는 정답 레이블이 원 핫 인코딩(one-hot encoding)된 경우에 사용될 수 있다. 원 핫 인코딩은 정답에 해당하는 뉴런에 대하여만 정답 레이블 값을 1로, 정답이 아닌 뉴런은 정답 레이블 값이 0으로 설정하는 인코딩 방법을 포함할 수 있다.The cross entropy error may be used when the correct answer label is one-hot encoded. One-hot encoding may include an encoding method in which the correct answer label value is set to 1 for only neurons corresponding to the correct answer, and the correct answer label value is set to 0 for neurons that are not correct answers.
머신 러닝 또는 딥 러닝에서는 손실 함수를 최소화하기 위하여 학습 최적화 알고리즘을 이용할 수 있으며, 학습 최적화 알고리즘은 경사 하강법(GD: Gradient Descent), 확률적 경사 하강법(SGD: Stochastic Gradient Descent), 모멘텀(Momentum), NAG(Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam 등을 포함할 수 있다.In machine learning or deep learning, a learning optimization algorithm can be used to minimize the loss function, and the learning optimization algorithm is gradient descent (GD), stochastic gradient descent (SGD), and momentum. ), NAG (Nesterov Accelerate Gradient), Adagrad, AdaDelta, RMSProp, Adam, Nadam, and the like.
경사 하강법은 현재 상태에서 손실 함수의 기울기를 고려하여 손실 함수값을 줄이는 방향으로 모델 파라미터를 조정하는 기법을 포함할 수 있다.The gradient descent method may include a technique of adjusting a model parameter in a direction to reduce a loss function value by considering the slope of the loss function in the current state.
모델 파라미터를 조정하는 방향은 스텝(step) 방향, 조정하는 크기는 스텝 사이즈(size)라고 칭할 수 있다.The direction of adjusting the model parameters may be referred to as a step direction, and the adjusting size may be referred to as a step size.
이때, 스텝 사이즈는 학습률을 의미할 수 있다.In this case, the step size may mean a learning rate.
경사 하강법은 손실 함수를 각 모델 파라미터들로 편미분하여 기울기를 획득하고, 모델 파라미터들을 획득한 기울기 방향으로 학습률만큼 변경하여 갱신할 수 있다.In the gradient descent method, a gradient is obtained by partially differentiating a loss function into each model parameter, and the model parameters may be updated by changing the acquired gradient direction by a learning rate.
확률적 경사 하강법은 학습 데이터를 미니 배치로 나누고, 각 미니 배치마다 경사 하강법을 수행하여 경사 하강의 빈도를 높인 기법을 포함할 수 있다.The probabilistic gradient descent method may include a technique in which the frequency of gradient descent is increased by dividing the training data into mini-batch and performing gradient descent for each mini-batch.
Adagrad, AdaDelta 및 RMSProp는 SGD에서 스텝 사이즈를 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다. SGD에서 모멘텀 및 NAG는 스텝 방향을 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다. Adam은 모멘텀과 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다. Nadam은 NAG와 RMSProp를 조합하여 스텝 사이즈와 스텝 방향을 조절하여 최적화 정확도를 높이는 기법을 포함할 수 있다.Adagrad, AdaDelta, and RMSProp may include techniques for increasing optimization accuracy by adjusting the step size in SGD. In SGD, momentum and NAG may include a technique to increase optimization accuracy by adjusting the step direction. Adam can include a technique that increases optimization accuracy by adjusting the step size and step direction by combining momentum and RMSProp. Nadam may include a technique to increase optimization accuracy by adjusting step size and step direction by combining NAG and RMSProp.
인공 신경망의 학습 속도와 정확도는 인공 신경망의 구조와 학습 최적화 알고리즘의 종류뿐만 아니라, 하이퍼파라미터에 크게 좌우되는 특징을 포함할 수 있다. 따라서, 좋은 학습 모델을 획득하기 위하여는 적당한 인공 신경망의 구조와 학습 알고리즘을 결정하는 것뿐만 아니라, 적당한 하이퍼파라미터를 설정하는 것이 중요할 수 있다.The learning speed and accuracy of the artificial neural network may include features that are highly dependent on hyperparameters, as well as the structure of the artificial neural network and the type of learning optimization algorithm. Therefore, in order to obtain a good learning model, it may be important not only to determine an appropriate artificial neural network structure and learning algorithm, but also to set appropriate hyperparameters.
통상적으로 하이퍼파라미터는 실험적으로 다양한 값으로 설정해가며 인공 신경망을 학습시켜보고, 학습 결과 안정적인 학습 속도와 정확도를 제공하는 최적의 값으로 설정할 수 있다.Typically, the hyperparameter can be set to an optimal value that provides a stable learning speed and accuracy by training an artificial neural network by experimentally setting various values.
로봇(100)이 멀티채널 마이크로 인식하는 사운드는 기동어를 포함하는 사용자의 음성과, 이외의 다른 잡음을 포함할 수 있다. 로봇(100)은 사용자의 음성을 인식하여 명령을 수행하고, 비정상 사운드를 인식한 경우 사용자에게 알릴 수 있다.The sound that the robot 100 recognizes with a multi-channel microphone may include a user's voice including a starting word and other noise. The robot 100 may perform a command by recognizing a user's voice, and may notify the user when an abnormal sound is recognized.
여기서, 비정상 사운드란 사용자가 아닌 제3자의 음성, 물건이 파손될 때 발생하는 소리 등 로봇(100)이 상주하는 공간에서 일상적으로 들리지 않는 사운드를 의미한다.Here, the abnormal sound refers to a sound that is not normally heard in a space in which the robot 100 resides, such as a voice of a third party other than a user or a sound generated when an object is damaged.
비정상 사운드가 발생하는 경우, 제3자의 침입, 사고의 발생 등이 의심되는 상황이므로, 로봇(100)이 사용자에게 알림으로써, 사용자는 이러한 상황에 대처할 수 있다.When an abnormal sound is generated, the intrusion of a third party or occurrence of an accident is suspected, and the robot 100 notifies the user so that the user can cope with this situation.
로봇(100)이 사용자의 음성을 인식하는 경우에 사용자의 음성과 유사한 음성을 입력받으면, 오작동이 발생할 우려가 크다. 예를 들어 TV(10-2)에서 출력되는 사운드는 인간의 음성을 포함하고, 이러한 인간의 음성과 사용자의 음성을 로봇(100)이 혼동하여 로봇(100)이 오작동할 수 있다.When the robot 100 recognizes the user's voice and receives a voice similar to the user's voice, there is a high risk of malfunction. For example, the sound output from the TV 10-2 includes a human voice, and the robot 100 may confuse the human voice with the user's voice, and the robot 100 may malfunction.
따라서, 실시예에서는 로봇(100)이 상주하는 공간에서 일상적으로 들리는 잡음에 대한 정보를 미리 작성하고, 로봇(100)이 입력받는 사운드에 기 작성된 잡음에 대한 정보를 고려하여, 사용자의 음성명령을 정확히 인식하고, 또한 비정상적인 사운드를 정확히 인식할 수 있는 방안을 제시한다.Therefore, in the embodiment, information about noise that is normally heard in the space where the robot 100 resides is prepared in advance, and in consideration of information about the noise previously created in the sound received by the robot 100, the user's voice command is It provides a way to accurately recognize and recognize abnormal sounds.
잡음에 대한 정보는 사운드맵으로 작성되어 로봇(100) 또는 로봇(100)과 연결되는 서버에 저장될 수 있다. 상기 사운드맵은 로봇(100)이 상주하는 공간에서 일상적으로 발생하는 잡음에 관한 사운드이벤트 ID가 적어도 하나 저장될 수 있다. 이하에서, 사운드맵 생성방법을 설명한다.Information on noise may be created as a sound map and stored in the robot 100 or a server connected to the robot 100. The sound map may store at least one sound event ID related to noise that occurs routinely in a space where the robot 100 resides. Hereinafter, a method of generating a sound map will be described.
도 2는 일 실시예에 따른 사운드맵 생성방법을 설명하기 위한 순서도이다. 사운드맵 생성방법은 다음의 단계를 가질 수 있다.2 is a flowchart illustrating a method of generating a sound map according to an exemplary embodiment. The sound map generation method may have the following steps.
로봇(100)은 주위의 사운드를 입력받을 수 있다(S110). 이때, 사운드를 인식하는 로봇(100)에 구비되는 멀티채널 마이크에 사운드가 입력될 수 있다.The robot 100 may receive ambient sound (S110). In this case, sound may be input to a multi-channel microphone provided in the robot 100 that recognizes the sound.
로봇(100)은 입력된 사운드 중 방향성을 가진 사운드를 추출할 수 있다(S120). 멀티채널 마이크는 각각의 채널에서 동일한 사운드를 독립적으로 입력받으므로, 로봇(100)은 각각의 채널로 입력되는 동일한 사운드에서 차이를 파악하여 방향성을 가진 사운드를 추출할 수 있다.The robot 100 may extract a directional sound from the input sound (S120). Since the multi-channel microphone independently receives the same sound from each channel, the robot 100 can extract a directional sound by grasping a difference in the same sound input through each channel.
예를 들어, 멀티채널 마이크의 각 채널과 연결된 마이크는 서로 이격된 위치에 배치되므로, 로봇(100)은 각 마이크에 유입된 신호의 도달시간 차이, 사운드가 가지는 파형의 구조적인 차이, 주파수 응답 등을 분석하여 방향성을 가진 사운드를 추출할 수 있다. 한편, 동일한 방법으로 로봇(100)은 멀티채널 마이크로 입력되는 방향성을 가진 사운드를 생성하는 음원의 방향을 파악할 수 있다.For example, since the microphones connected to each channel of the multi-channel microphone are placed in a position spaced apart from each other, the robot 100 has a difference in arrival time of a signal introduced into each microphone, a structural difference in a sound waveform, a frequency response, etc. By analyzing the sound, you can extract directional sound. Meanwhile, in the same way, the robot 100 may determine the direction of a sound source that generates a directional sound input to a multi-channel microphone.
방향성이 없는 사운드는 하기에 설명하는 사운드맵에 포함되는 방향각을 알 수 없으므로, 사운드맵에 기반한 로봇(100)의 사운드 인식 성능을 저하시킬 수 있어, 사운드맵에 기록하지 않는 것이 적절하다.Since the sound without directionality cannot know the directional angle included in the sound map to be described below, the sound recognition performance of the robot 100 based on the sound map may be degraded, so it is appropriate not to record the sound map.
상기 방향성을 가진 사운드를 추출하는 단계에서는, 입력되는 사운드로부터 방향성이 없는 사운드를 공간필터링(spatial filtering)하여 제거함으로써 방향성을 가진 사운드를 추출할 수 있다. 예를 들어, 사운드의 공간필터링은 방향성 없는 사운드가 분포하는 공간 주파수 대역을 제거함으로써 진행될 수 있다.In the step of extracting the directional sound, the directional sound may be extracted by removing the sound without directional from the input sound by spatial filtering. For example, spatial filtering of sound may be performed by removing a spatial frequency band in which non-directional sound is distributed.
로봇(100)은 방향성을 가진 사운드로부터 사운드 구간(sound activity)을 검출할 수 있다(S130). 이때, 사운드 구간은 연속적인 사운드의 입력에서 사운드가 존재하는 구간을 의미할 수 있다.The robot 100 may detect a sound activity from a directional sound (S130). In this case, the sound section may mean a section in which a sound exists in a continuous sound input.
로봇(100)은 검출된 사운드 구간에 존재하는 사운드의 특성값을 획득할 수 있다(S140). 이때, 사운드 특성값은 방향각 및 주파수를 포함할 수 있고, 진폭, 음압, 음색 등을 더 포함할 수 있다.The robot 100 may acquire a characteristic value of the sound existing in the detected sound section (S140). In this case, the sound characteristic value may include a direction angle and a frequency, and may further include amplitude, sound pressure, tone, and the like.
상기한 바와 같이, 사운드맵에는 방향성을 가진 사운드의 정보만이 기록되므로, 상기 사운드 특성값은 방향성을 가진 사운드의 주파수, 진폭, 음압 및 음색일 수 있다. 로봇(100)은 사운드 특성값으로 서로다른 사운드를 구별하고 이를 기반으로 입력되는 사운드를 명확히 구분할 수 있다.As described above, since only directional sound information is recorded in the sound map, the sound characteristic values may be the frequency, amplitude, sound pressure, and tone of the directional sound. The robot 100 may distinguish different sounds based on sound characteristic values and clearly distinguish input sounds based on this.
방향각은 상기 방향성을 가진 사운드를 생성하는 음원의 위치를 각도로 표시한 것일 수 있다. 이하, 도 3 내지 도 5를 참조하여 방향각을 설명한다. 도 3 내지 도 5는 일 실시예에 따른 로봇(100)의 작동을 설명하기 위한 도면이다.The directional angle may be an angle indicating a position of a sound source generating the directional sound. Hereinafter, the direction angle will be described with reference to FIGS. 3 to 5. 3 to 5 are views for explaining the operation of the robot 100 according to an embodiment.
예를 들어, 로봇(100)은 사용자의 주거지에서 사용자가 주로 머무는 소파 앞의 테이블 상에 놓여있다고 가정한다. 로봇(100)의 주위에는 일상적인 사운드를 생성하는 음원이 배치될 수 있다.For example, it is assumed that the robot 100 is placed on a table in front of a sofa where the user mainly stays in the user's residence. A sound source that generates everyday sounds may be disposed around the robot 100.
예를 들어, 상기 음원은 스피커1(10-1), TV(10-2), 스피커2(10-3), 공기청정기(10-4)라고 가정한다. 이때, 스피커1(10-1), TV(10-2), 스피커2(10-3) 음원은 사용자의 음성명령과 유사한 사운드를 발생시킬 수 있으므로, 이들 음원에서 발생하는 사운드를 로봇(100)이 혼동하여, 로봇(100)의 오작동이 발생할 수 있다. 사운드맵에 이러한 사운드가 기록되고, 로봇(100)은 음성을 입력받는 때에 이러한 사운드를 제거하여 음성인식 기능을 향상시킬 수 있다. 이에 대해서는 하기에 구체적으로 설명한다.For example, it is assumed that the sound sources are speaker 1 (10-1), TV (10-2), speaker 2 (10-3), and air purifier (10-4). At this time, since the sound sources of the speaker 1 (10-1), TV (10-2), and speaker 2 (10-3) can generate a sound similar to the user's voice command, the robot 100 Due to this confusion, a malfunction of the robot 100 may occur. This sound is recorded in the sound map, and the robot 100 can improve the speech recognition function by removing the sound when receiving a voice input. This will be described in detail below.
스피커1(10-1), TV(10-2), 스피커2(10-3), 공기청정기(10-4)에서 발생하는 일상적인 사운드는 사운드맵에 기록되고, 로봇(100)은 이러한 사운드맵을 기반으로 입력되는 사운드 중 비정상적인 사운드를 검출할 수 있다. 이에 대해서는 하기에 구체적으로 설명한다.The daily sounds generated by the speaker 1 (10-1), TV (10-2), speaker 2 (10-3), and air purifier (10-4) are recorded in the sound map, and the robot 100 An abnormal sound can be detected among input sounds based on the map. This will be described in detail below.
상기한 바와 같이, 로봇(100)은 다채널 마이크로 입력되는 사운드의 방향을 파악할 수 있다. 물론, 방향성이 없는 사운드는 공간필터링에 의해 제거될 수 있다. 사운드의 방향은 방향각으로 도출되어 사운드 이벤트 ID와 사운드맵에 저장될 수 있다.As described above, the robot 100 may determine the direction of sound input to a multi-channel microphone. Of course, sound without directionality can be eliminated by spatial filtering. The direction of the sound can be derived from the direction angle and stored in the sound event ID and sound map.
도 3을 참조하면, 방향각은 기준선 L1으로부터 음원의 위치를 각도로 표시한 것이다. 예를 들어, TV(10-2), 스피커2(10-3), 공기청정기(10-4)의 방향각은 각각 a1, a2 및 a3이고, 스피커의 방향각은 a4일 수 있다. 이때, 방향각 a1 내지 a4는, 상기한 바와 같이, 멀티채널 마이크에 의해 측정될 수 있다.Referring to FIG. 3, the direction angle is an angle indicating the position of the sound source from the reference line L1. For example, the TV 10-2, the speaker 2 10-3, and the air purifier 10-4 may have a1, a2, and a3 direction angles, respectively, and the speaker may have a 4 direction angle. At this time, the direction angles a1 to a4 may be measured by a multi-channel microphone, as described above.
한편, 로봇(100)의 헤드부(110)가 회전하면 멀티채널 마이크도 함께 회전할 수 있다. 멀티채널 마이크가 회전하면 멀티채널 마이크의 음원에 대한 배치각도가 달라지므로, 멀티채널 마이크가 측정한 음원에 대한 방향각은 상기 기준선 L1에서 측정된 방향각과 다를 수 있다.Meanwhile, when the head unit 110 of the robot 100 rotates, the multi-channel microphone may also rotate. When the multi-channel microphone is rotated, the arrangement angle of the multi-channel microphone with respect to the sound source is different, so the direction angle of the sound source measured by the multi-channel microphone may be different from the direction angle measured by the reference line L1.
이 경우, 상기 방향각은 상기 멀티채널 마이크에 의해 측정되는 각도 즉, 멀티채널 마이크가 측정한 음원에 대한 각도에 상기 헤드부(110)가 회전한 각도를 보상하여 도출될 수 있다.In this case, the direction angle may be derived by compensating the angle at which the head unit 110 rotates with the angle measured by the multi-channel microphone, that is, the angle with respect to the sound source measured by the multi-channel microphone.
도 4를 참조하면, 헤드부(110)와 멀티채널 마이크는 기준선 L1에 대하여 반시계방향으로 b1만큼 회전하였다. 이 경우, 헤드부(110)가 회전한 각도 b1과 멀티채널 마이크에 의해 측정되는 각도 b2를 합하여 공기청정기(10-4)에 대한 방향각 a3를 도출할 수 있다.Referring to FIG. 4, the head unit 110 and the multi-channel microphone are rotated counterclockwise by b1 with respect to the reference line L1. In this case, the angle b1 rotated by the head unit 110 and the angle b2 measured by the multi-channel microphone may be summed to derive the direction angle a3 for the air purifier 10-4.
도 5을 참조하면, 헤드부(110)와 멀티채널 마이크는 기준선 L1에 대하여 시계방향으로 c1만큼 회전하였다. 이 경우, 멀티채널 마이크에 의해 측정되는 각도 c2에서 헤드부(110)가 회전한 각도 c1을 빼서 공기청정기(10-4)에 대한 방향각 a3를 도출할 수 있다.Referring to FIG. 5, the head unit 110 and the multi-channel microphone are rotated by c1 clockwise with respect to the reference line L1. In this case, the direction angle a3 for the air purifier 10-4 can be derived by subtracting the angle c1 rotated by the head unit 110 from the angle c2 measured by the multi-channel microphone.
전술한 방식으로 헤드부(110)가 회전한 각도를 보상함으로써, 헤드부(110)의 회전과 관계없이 일정한 위치에 존재하는 각 음원의 방향각을 도출할 수 있다.By compensating the angle at which the head unit 110 rotates in the above-described manner, it is possible to derive the direction angle of each sound source existing at a certain position regardless of the rotation of the head unit 110.
로봇(100)의 헤드부(110)가 z-x평면 상으로 회전하면 멀티채널 마이크로 함께 회전할 수 있다. 이 경우에도 전술한 헤드부(110)가 x-y평면 상으로 회전한 경우와 마찬가지의 방법으로 상기 헤드부(110)가 회전한 각도를 보상하여 방향각을 도출할 수 있다.When the head part 110 of the robot 100 rotates on the z-x plane, it may rotate together with the multi-channel microphone. Even in this case, the direction angle may be derived by compensating the angle at which the head unit 110 rotates in the same way as the case where the head unit 110 rotates on the x-y plane.
로봇(100)은 획득된 사운드 특성값을 포함하는 사운드이벤트 ID를 생성할 수 있다(S150). 사운드이벤트 ID는 상기 사운드 특성값을 포함한 기록이고, 종류가 다른 각각의 사운드에 대하여 독립적인 사운드이벤트 ID가 생성될 수 있다.The robot 100 may generate a sound event ID including the acquired sound characteristic value (S150). The sound event ID is a record including the sound characteristic value, and an independent sound event ID may be generated for each sound of a different type.
로봇(100)은 동일한 사운드이벤트 ID를 가진 사운드의 발생횟수를 카운트(count)할 수 있다(S160). 로봇(100)이 입력받은 사운드 중 일상적이고 지속적이지 않은 비정상 사운드는 사운드맵에 등록할 필요가 없기 때문에, 이를 제거하기 위함이다. 로봇(100)은 카운트된 횟수를 사운드이벤트 ID에 기록하고, 따라서 사운드이벤트 ID에는 그 사운드의 발생회수도 함께 기록될 수 있다.The robot 100 may count the number of occurrences of sounds having the same sound event ID (S160). The purpose is to remove abnormal sounds that are not routine and non-continuous among sounds received by the robot 100 because they do not need to be registered in the sound map. The robot 100 records the counted number of times in the sound event ID, and thus the number of occurrences of the sound may be recorded in the sound event ID.
로봇(100)은 발생횟수가 설정값을 초과하는 사운드에 관한 사운드 이벤트 ID를 상기 사운드맵에 저장할 수 있다(S170). 이로써 사운드맵에는 일상적인 사운드의 정보가 저장될 수 있다.The robot 100 may store a sound event ID for a sound in which the number of occurrences exceeds a set value in the sound map (S170). As a result, information of everyday sounds can be stored in the sound map.
사운드맵은 서로다른 상기 사운드 특성값을 가지는 복수의 상기 사운드 이벤트 ID를 저장한 것이고, 생성된 사운드맵은 로봇(100) 또는 로봇(100)과 연결되는 서버 등에 저장될 수 있다.The sound map stores a plurality of sound event IDs having different sound characteristic values, and the generated sound map may be stored in the robot 100 or a server connected to the robot 100.
전술한 방법으로 지속적으로 새로운 사운드맵을 생성함으로써, 상기 사운드맵은 새로 추가되는 일상적인 사운드를 포함하고, 전에 있었으나 사라진 일상적인 사운드는 제거되도록 업데이트될 수 있다.By continuously generating a new sound map by the above-described method, the sound map may be updated to include a newly added everyday sound, and to remove a previous everyday sound.
로봇(100)의 배치위치는 사용자에 의해 이동할 수 있다. 또한, 스스로 주행할 수 있는 로봇(100)인 경우에는 주행에 의해 위치가 이동될 수 있다. 이러한 경우에도 로봇(100)은 지속적으로 새로운 사운드맵을 생성하여 기존의 사운드맵을 대체함으로써, 사운드맵을 업데이트할 수 있다.The placement position of the robot 100 can be moved by a user. In addition, in the case of the robot 100 capable of traveling by itself, the position may be moved by traveling. Even in this case, the robot 100 may update the sound map by continuously generating a new sound map and replacing the existing sound map.
도 6 내지 도 8은 일 실시예에 따른 사운드맵을 이용한 사운드 인식방법을 설명하기 위한 순서도이다. 이하에서는 로봇(100)이 전술한 방법으로 생성된 사운드맵을 이용하여 사용자의 음성명령을 더욱 정확하게 인식하는 방법을 설명한다.6 to 8 are flowcharts illustrating a method of recognizing a sound using a sound map according to an exemplary embodiment. Hereinafter, a method of more accurately recognizing a user's voice command by using the sound map generated by the above-described method will be described.
도 6을 참조하면, 로봇(100)은 음성명령을 포함하는 사운드를 입력받을 수 있다(S210). 상기 단계에서 로봇(100)이 인식하는 사운드는 사용자의 음성명령과 사운드맵에 등록된 일상적인 사운드를 모두 포함할 수 있다.Referring to FIG. 6, the robot 100 may receive a sound including a voice command (S210). The sound recognized by the robot 100 in the above step may include both a user's voice command and a daily sound registered in the sound map.
로봇(100)은 사운드맵에 등록된 일상적인 사운드에 대한 정보에 따라, 일상적인 사운드 즉, 잡음을 생성하는 음원으로부터 현재 발생하는 사운드를 인식할 수 있다. 이를 위해, 로봇(100)은 기 등록된 상기 사운드맵을 이용하여 잡음 방향으로 스티어링벡터(steering vector)를 생성할 수 있다(S220).The robot 100 may recognize a daily sound, that is, a sound currently generated from a sound source that generates noise, according to information on the daily sound registered in the sound map. To this end, the robot 100 may generate a steering vector in a noise direction using the previously registered sound map (S220).
상기 스티어링벡터를 형성하는 단계(S220)에서는, 로봇(100)이 기 생성되어 저장된 사운드맵으로부터 잡음의 방향에 관한 정보를 취득하고, 취득한 잡음 방향으로 스티어링벡터를 생성할 수 있다. 이때, 로봇(100)은 사운드맵에 기록된 방향각 등의 사운드 특성값을 읽고 이에 따라 잡음 방향으로 스티어링벡터를 생성할 수 있다. 스티어링벡터는 상기 기준선 L1으로부터 잡음 방향까지의 각도에 대한 정보를 포함할 수 있다.In the step of forming the steering vector (S220), the robot 100 may acquire information on the direction of noise from a sound map previously generated and stored, and may generate a steering vector in the obtained noise direction. In this case, the robot 100 may read sound characteristic values such as a direction angle recorded in the sound map and generate a steering vector in the noise direction according to this. The steering vector may include information on an angle from the reference line L1 to a noise direction.
전술한 바와 같이, 헤드부(110)가 회전한 경우에는 멀티채널 마이크도 함께 회전할 수 있다. 따라서, 상기 스티어링벡터는, 상기 방향각에서 상기 헤드부(110)가 회전한 각도를 보상하여 도출될 수 있다.As described above, when the head unit 110 rotates, the multi-channel microphone may also rotate. Accordingly, the steering vector may be derived by compensating the angle at which the head unit 110 rotates at the direction angle.
즉, 기 등록된 사운드맵에 기록된 방향각에서 상기 헤드부(110)가 회전한 각도를 보상한 값을 스티어링벡터가 가지는 각도에 대한 정보로 할 수 있다. 이러한 각도 보상방법은 도 3 내지 도 5를 참조하여 전술한 바와 같다.That is, a value obtained by compensating the angle at which the head unit 110 rotates in the direction angle recorded in the pre-registered sound map may be used as information on the angle of the steering vector. This angle compensation method is as described above with reference to FIGS. 3 to 5.
로봇(100)은 상기 스티어링벡터가 생성된 방향으로 사운드 빔포밍(beam forming)을 수행하여 잡음을 입력받을 수 있다(S230). 로봇(100)은 스티어링벡터 방향으로 빔포밍하여, 사운드맵에 기록된 방향에서 발생하는 잡음을 더욱 선명하고 효율적으로 입력받을 수 있다.The robot 100 may receive noise by performing sound beam forming in the direction in which the steering vector is generated (S230). The robot 100 beamforms in the direction of the steering vector, so that noise generated in the direction recorded in the sound map can be input more clearly and efficiently.
로봇(100)은 빔포밍을 통해 스티어링벡터가 가리키는 특정방향에서 입력되는 사운드를 선택적으로 인식할 수 있다. 빔포밍은 예를 들어, 멀티채널 마이크에 구비되는 각각의 마이크들에 서로다른 입력값을 부여하여, 스티어링벡터 방향에서 생성되는 잡음을 더욱 정확하게 입력받을 수 있다.The robot 100 may selectively recognize a sound input from a specific direction indicated by the steering vector through beamforming. In beamforming, for example, by giving different input values to each of the microphones provided in the multi-channel microphone, noise generated in the direction of the steering vector can be more accurately input.
도 7을 참조하면, 상기 사운드 빔포밍을 수행하여 잡음을 입력받는 단계(S230)에서는 다음의 단계를 수행할 수 있다. 로봇(100)은 상기 스티어링벡터가 지시하는 방향에서 발생하는 사운드를 입력받을 수 있다(S231).Referring to FIG. 7, in the step S230 of receiving noise by performing the sound beamforming, the following steps may be performed. The robot 100 may receive a sound generated in a direction indicated by the steering vector (S231).
로봇(100)은 기 생성되어 저장된 사운드맵에 등록되지 않은 인간의 음성을 제거할 수 있다(S232). 이러한 인간의 음성은 잡음이 존재하는 방향에서 사용자가 음성명령을 발화한 것일 수 있다. 이후 입력받은 사운드를 제거하는 단계(S260)에서 사용자의 음성명령이 제거되지 않도록 하기위하여 상기 단계(S232)가 필요하다.The robot 100 may remove a human voice that is not registered in a previously generated and stored sound map (S232). Such human voice may be a voice command by a user in a direction in which noise exists. Subsequently, the step S232 is necessary to prevent the user's voice command from being removed in the step of removing the received sound (S260).
로봇(100)은 빔포밍을 통해 입력된 잡음의 PSD매트릭스(power spectral density matrix)를 계산할 수 있다(S240). 로봇(100)은 계산된 PSD매트릭스를 통해 입력된 잡음의 공간적인 배치 및 분포상태 등을 파악할 수 있다.The robot 100 may calculate a power spectral density matrix of noise input through beamforming (S240). The robot 100 may determine the spatial arrangement and distribution state of the input noise through the calculated PSD matrix.
로봇(100)은 입력받은 음성명령을 포함하는 사운드의 PSD매트릭스를 계산할 수 있다(S250). 상기 단계에서 계산된 PSD매트릭스에는 사용자의 음성명령과 일상적인 잡음이 함께 존재할 수 있다.The robot 100 may calculate a PSD matrix of sound including the received voice command (S250). In the PSD matrix calculated in the above step, a user's voice command and daily noise may exist together.
로봇(100)은 음성명령을 포함하는 사운드의 PSD매트릭스와 입력된 잡음의 PSD매트릭스의 차이값을 음성명령의 PSD매트릭스로 하여 음성명령의 PSD매트릭스를 도출할 수 있다(S260). 즉, 사용자의 음성명령과 일상적인 잡음이 함께 존재하는 사운드에서 빔포밍을 통하여 취득한 잡음을 제거하는 방식으로 더욱 정확한 사용자의 음성명령을 도출할 수 있다. 로봇(100)은 상기의 방법으로 도출된 사용자의 음성명령 PSD매트릭스로부터 명령을 인식하여 수행할 수 있다.The robot 100 may derive the PSD matrix of the voice command by using the difference value between the PSD matrix of the sound including the voice command and the PSD matrix of the input noise as the PSD matrix of the voice command (S260). That is, a more accurate user's voice command can be derived by removing the noise acquired through beamforming from the sound in which the user's voice command and ordinary noise exist together. The robot 100 may recognize and execute a command from the PSD matrix of the user's voice command derived by the above method.
도 8을 참조하면, 로봇(100)은 입력된 잡음의 PSD(power spectral density)를 계산할 수 있다(S233). 로봇(100)은 복수의 상기 입력된 잡음의 PSD로부터 상기 입력된 잡음의 PSD매트릭스를 계산할 수 있다.Referring to FIG. 8, the robot 100 may calculate a power spectral density (PSD) of an input noise (S233). The robot 100 may calculate a PSD matrix of the input noise from a plurality of PSDs of the input noise.
잡음을 생성하는 음원은 로봇(100)이 상주하는 공간에 복수로 구비될 수 있다. 따라서 로봇(100)은 각각의 음원으로부터 입력되는 잡음들에 대해 각각의 PSD를 계산하고, 계산된 복수의 PSD를 하나의 PSD매트릭스로 도출하여 복수의 잡음들을 합한 전체 잡음의 공간적인 배치 및 분포상태 등을 파악할 수 있다.A plurality of sound sources generating noise may be provided in a space in which the robot 100 resides. Therefore, the robot 100 calculates each PSD for noises input from each sound source, derives a plurality of calculated PSDs as a single PSD matrix, and sums up the plurality of noises in spatial arrangement and distribution. Etc. can be grasped.
실시예에서 사운드맵을 생성하고, 생성된 사운드맵을 이용하여 로봇(100)에 입력되는 잡음을 효과적으로 제거함으로써, 로봇(100)은 사용자의 음성명령을 더욱 명확히 인식할 수 있다.In the embodiment, by generating a sound map and effectively removing noise input to the robot 100 using the generated sound map, the robot 100 can more clearly recognize the user's voice command.
실시예에서 사운드맵에 사용자의 음성명령과 혼동을 일으킬 수 있는 일상적인 사운드의 특성값을 기록하고, 사운드맵을 이용하여 이러한 일상적인 사운드를 제거함으로써, 로봇(100)의 오작동을 효과적으로 억제할 수 있다.In the embodiment, by recording the characteristic values of ordinary sounds that may cause confusion with the user's voice commands in the sound map, and removing such ordinary sounds using the sound map, malfunction of the robot 100 can be effectively suppressed. have.
실시예에서, 로봇(100)의 헤드부(110)의 회전에 관계없이 잡음의 생성방향을 파악할 수 있고, 빔포밍을 위한 스티어링벡터를 생성할 수 있다.In an embodiment, it is possible to determine the direction of noise generation irrespective of the rotation of the head unit 110 of the robot 100, and to generate a steering vector for beamforming.
로봇(100)은 기 등록된 사운드맵을 이용하여 비정상 사운드 예를 들어, 사용자가 아닌 제3자의 음성, 물건이 파손될 때 발생하는 소리 등 로봇(100)이 상주하는 공간에서 일상적으로 들리지 않는 사운드를 인식하고, 비정상 사운드가 발생하는 경우 이를 사용자에게 알려 사용자가 대비하도록 할 수 있다.The robot 100 uses a pre-registered sound map to generate abnormal sounds, for example, voices from a third party other than the user, sounds generated when an object is damaged, etc. It recognizes, and when an abnormal sound occurs, it can be notified to the user so that the user can prepare.
이하에서 로봇(100)이 사운드맵을 이용하여 비정상 사운드를 검출하는 사운드맵을 이용한 사운드 인식방법을 설명한다. 도 9는 다른 실시예에 따른 사운드맵을 이용한 사운드 인식방법을 설명하기 위한 순서도이다. 실시예에 따른 사운드 인식방법은 사운드이벤트 ID 비교단계, 비정상 사운드 검출단계 및 알람단계를 포함할 수 있다.Hereinafter, a sound recognition method using a sound map in which the robot 100 detects an abnormal sound using a sound map will be described. 9 is a flowchart illustrating a method for recognizing a sound using a sound map according to another exemplary embodiment. The sound recognition method according to the embodiment may include a sound event ID comparison step, an abnormal sound detection step, and an alarm step.
사운드이벤트 ID 비교단계에서는, 로봇(100)은 상기 사운드이벤트 ID를 생성하는 단계(S150)에서 생성된 제1사운드이벤트 ID와 기 생성되어 저장된 제2사운드이벤트 ID를 서로 비교할 수 있다(S310). 이때, 상기 제2사운드이벤트 ID는 사운드맵에 등록된 상태이다.In the sound event ID comparison step, the robot 100 may compare the first sound event ID generated in the step of generating the sound event ID (S150) and the previously generated and stored second sound event ID (S310 ). At this time, the second sound event ID is registered in the sound map.
사운드이벤트 ID 비교단계에서는, 제1사운드이벤트 ID와 제2사운드이벤트 ID가 서로 일치하는지 여부를 파악하는데, 각 이벤트 ID가 보유하는 사운드 특성값을 서로 비교한다.In the sound event ID comparison step, it is determined whether the first sound event ID and the second sound event ID match each other, and sound characteristic values held by each event ID are compared with each other.
예를 들어, 로봇(100)은 상기 제1사운드이벤트 ID와 상기 제2사운드이벤트 ID가 보유하는 방향성을 가진 사운드를 생성하는 음원의 위치를 각도로 표시하는 방향각과, 상기 방향성를 가진 사운드의 주파수를 서로 비교하여 각 사운드이벤트 ID가 서로 일치하는지 여부를 판단할 수 있다.For example, the robot 100 displays a direction angle indicating a position of a sound source generating a directional sound held by the first sound event ID and the second sound event ID as an angle, and the frequency of the directional sound. By comparing with each other, it is possible to determine whether each sound event ID coincides with each other.
추가적으로, 로봇(100)은 상기 제1사운드이벤트 ID와 상기 제2사운드이벤트 ID가 보유하는 상기 방향성을 가진 사운드의 진폭, 음압 및 음색 중 적어도 하나를 서로 비교하여 각 사운드이벤트 ID가 서로 일치하는지 여부를 판단할 수 있다.Additionally, the robot 100 compares at least one of the amplitude, sound pressure, and tone of the directional sound held by the first sound event ID and the second sound event ID to determine whether each sound event ID matches each other. Can judge.
비정상 사운드 검출단계에서는, 상기 제1사운드이벤트 ID가 상기 제2사운드이벤트 ID와 일치하지 않는 경우, 비정상 사운드가 검출된 것으로 판단할 수 있다(S320). 물론 각 사운드이벤트 ID가 서로 일치하거나, 설정된 범위 내에서 서로 매우 유사한 경우에는, 로봇(100)은 비정상 사운드는 생성되지 않은 것으로 판단할 수 있다.In the abnormal sound detection step, when the first sound event ID does not match the second sound event ID, it may be determined that the abnormal sound has been detected (S320). Of course, when the sound event IDs coincide with each other or are very similar to each other within a set range, the robot 100 may determine that an abnormal sound has not been generated.
알람단계에서는, 상기 비정상 사운드가 검출되면 사용자에게 알려, 사용자가 비정상 사운드가 발생한 상황을 대비하고 즉각적인 조치를 취하도록 할 수 있다(S330). 알람은 디스플레이부(130)에 영상을 재생하거나 점등하는 방법, 경고음을 발생시키는 등 다양한 방법을 사용할 수 있다.In the alarm step, when the abnormal sound is detected, the user is notified, so that the user can prepare for a situation in which the abnormal sound has occurred and take immediate action (S330). The alarm can use various methods, such as a method of reproducing or lighting an image on the display unit 130, and generating a warning sound.
실시예에서 로봇(100)은 사운드맵을 사용하여 비정상 사운드가 발생하였는지를 용이하게 파악하고, 로봇(100)은 비정상 사운드 발생을 사용자에게 알림으로써, 사용자는 돌발상황, 긴급상황에 신속하게 대처할 수 있다.In the embodiment, the robot 100 easily grasps whether an abnormal sound has occurred using a sound map, and the robot 100 notifies the user of the occurrence of an abnormal sound, so that the user can quickly respond to an unexpected situation or an emergency situation. .
이상 설명된 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.The above-described embodiments may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded in a computer-readable medium. In this case, the medium is a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magneto-optical medium such as a floptical disk, and a ROM. A hardware device specially configured to store and execute program instructions, such as, RAM, flash memory, and the like.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention, or may be known and usable to those skilled in the computer software field. Examples of the computer program may include not only machine language codes produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like.
실시예와 관련하여 전술한 바와 같이 몇 가지만을 기술하였지만, 이외에도 다양한 형태의 실시가 가능하다. 앞서 설명한 실시예들의 기술적 내용들은 서로 양립할 수 없는 기술이 아닌 이상은 다양한 형태로 조합될 수 있으며, 이를 통해 새로운 실시형태로 구현될 수도 있다.As described above with respect to the embodiment, only a few are described, but other various types of implementation are possible. The technical contents of the above-described embodiments may be combined in various forms, unless they are technologies incompatible with each other, and may be implemented as a new embodiment through this.
실시예에서 사운드맵을 생성하고, 생성된 사운드맵을 이용하여 로봇에 입력되는 잡음을 효과적으로 제거함으로써, 로봇은 사용자의 음성명령을 더욱 명확히 인식할 수 있다.In the embodiment, by generating a sound map and effectively removing noise input to the robot using the generated sound map, the robot can more clearly recognize the user's voice command.
Claims (19)
- 잡음에 관한 사운드이벤트 ID가 적어도 하나 저장되는 사운드맵을 생성하기 위한 사운드맵 생성방법에 있어서,In the sound map generation method for generating a sound map in which at least one sound event ID related to noise is stored,사운드를 입력받는 단계;Receiving a sound input;방향성을 가진 사운드를 추출하는 단계;Extracting directional sound;방향성을 가진 사운드로부터 사운드 구간(sound activity)을 검출하는 단계;Detecting a sound activity from a directional sound;검출된 사운드 구간에 존재하는 사운드의 특성값을 획득하는 단계;Obtaining a characteristic value of a sound existing in the detected sound section;획득된 사운드 특성값을 포함하는 사운드이벤트 ID를 생성하는 단계;Generating a sound event ID including the obtained sound characteristic value;동일한 사운드이벤트 ID를 가진 사운드의 발생횟수를 카운트(count)하는 단계; 및Counting the number of occurrences of sounds having the same sound event ID; And발생횟수가 설정값을 초과하는 사운드에 관한 사운드 이벤트 ID를 상기 사운드맵에 저장하는 단계Storing a sound event ID for a sound whose occurrence count exceeds a set value in the sound map를 포함하는 사운드맵 생성방법.Sound map generating method comprising a.
- 제1항에 있어서,The method of claim 1,상기 방향성을 가진 사운드를 추출하는 단계는,The step of extracting the directional sound,입력되는 사운드로부터 방향성이 없는 사운드를 공간필터링(spatial filtering)하는 사운드맵 생성방법.A sound map generation method that performs spatial filtering of non-directional sound from the input sound.
- 제1항에 있어서,The method of claim 1,상기 사운드 특성값은,The sound characteristic value is,상기 방향성을 가진 사운드를 생성하는 음원의 위치를 각도로 표시하는 방향각; 및A direction angle indicating a position of a sound source generating the directional sound as an angle; And상기 방향성를 가진 사운드의 주파수The frequency of the directional sound를 포함하는 사운드맵 생성방법.Sound map generating method comprising a.
- 제3항에 있어서,The method of claim 3,상기 사운드 특성값은,The sound characteristic value is,상기 방향성을 가진 사운드의 진폭, 음압 및 음색 중 적어도 하나를 더 포함하는 사운드맵 생성방법.Sound map generating method further comprising at least one of the amplitude, sound pressure and tone of the directional sound.
- 제1항에 있어서,The method of claim 1,상기 사운드맵은,The sound map,서로다른 상기 사운드 특성값을 가지는 복수의 상기 사운드 이벤트 ID를 저장하는 사운드맵 생성방법.A sound map generation method for storing a plurality of sound event IDs having different sound characteristic values.
- 제1항의 사운드맵 생성방법에 의해 생성된 사운드맵을 이용한 사운드 인식방법에 있어서,In the sound recognition method using the sound map generated by the sound map generation method of claim 1,음성명령을 포함하는 사운드를 입력받는 단계;Receiving a sound including a voice command;상기 사운드맵을 이용하여 잡음 방향으로 스티어링벡터(steering vector)를 생성하는 단계;Generating a steering vector in the direction of noise by using the sound map;상기 스티어링벡터가 생성된 방향으로 사운드 빔포밍(beam forming)을 수행하여 잡음을 입력받는 단계;Receiving noise by performing sound beam forming in the direction in which the steering vector is generated;입력된 잡음의 PSD매트릭스(power spectral density matrix)를 계산하는 단계;Calculating a power spectral density matrix of the input noise;음성명령을 포함하는 사운드의 PSD매트릭스를 계산하는 단계; 및Calculating a PSD matrix of sound including voice commands; And음성명령을 포함하는 사운드의 PSD매트릭스와 입력된 잡음의 PSD매트릭스의 차이값을 음성명령의 PSD매트릭스로 하는 음성명령의 PSD매트릭스 도출단계The step of deriving the PSD matrix of the voice command using the difference between the PSD matrix of the sound including the voice command and the PSD matrix of the input noise as the PSD matrix of the voice command를 포함하는 사운드 인식방법.Sound recognition method comprising a.
- 제6항에 있어서,The method of claim 6,상기 스티어링벡터를 형성하는 단계는,The step of forming the steering vector,기 생성되어 저장된 사운드맵으로부터 잡음의 방향에 관한 정보를 취득하고, 취득한 잡음 방향으로 스티어링벡터를 생성하는 사운드 인식방법.A sound recognition method for acquiring information on the direction of noise from a pre-generated and stored sound map, and generating a steering vector in the direction of the acquired noise.
- 제6항에 있어서,The method of claim 6,상기 사운드 빔포밍을 수행하여 잡음을 입력받는 단계는,The step of receiving noise by performing the sound beamforming,상기 스티어링벡터가 지시하는 방향에서 발생하는 사운드를 입력받는 단계; 및Receiving a sound generated in a direction indicated by the steering vector; And기 생성되어 저장된 사운드맵에 등록되지 않은 인간의 음성을 제거하는 단계Step of removing human voices that are not registered in the previously created sound map를 포함하는 사운드 인식방법.Sound recognition method comprising a.
- 제6항에 있어서,The method of claim 6,입력된 잡음의 PSD(power spectral density)를 계산하는 단계Calculating the power spectral density (PSD) of the input noise를 더 포함하고,Including more,복수의 상기 입력된 잡음의 PSD로부터 상기 입력된 잡음의 PSD매트릭스를 계산하는 사운드 인식방법.A sound recognition method for calculating a PSD matrix of the input noise from a plurality of PSDs of the input noise.
- 제6항에 있어서,The method of claim 6,사운드를 인식하는 로봇에 구비되는 멀티채널 마이크에 사운드가 입력되는 사운드 인식방법.A sound recognition method in which sound is input into a multi-channel microphone provided in a robot that recognizes sound.
- 제10항에 있어서,The method of claim 10,상기 로봇은 회전가능한 헤드부를 구비하고,The robot has a rotatable head,상기 멀티채널 마이크는 상기 헤드부에 구비되어 상기 헤드부의 회전에 따라 함께 회전하는 사운드 인식방법.The multi-channel microphone is provided in the head portion and rotates with the rotation of the head portion.
- 제11항에 있어서,The method of claim 11,상기 사운드 특성값은,The sound characteristic value is,상기 방향성을 가진 사운드를 생성하는 음원의 위치를 각도로 표시하는 방향각을 포함하고,Includes a direction angle indicating a position of a sound source generating the directional sound as an angle,상기 방향각은,The direction angle is,상기 멀티채널 마이크에 의해 측정되는 각도에 상기 헤드부가 회전한 각도를 보상하여 도출되는 사운드 인식방법.A sound recognition method derived by compensating the angle at which the head portion is rotated with the angle measured by the multi-channel microphone.
- 제12항에 있어서,The method of claim 12,상기 스티어링벡터는,The steering vector is상기 방향각에서 상기 헤드부가 회전한 각도를 보상하여 도출되는 사운드 인식방법.A sound recognition method derived by compensating for an angle in which the head unit rotates in the direction angle.
- 제1항의 사운드맵 생성방법에 의해 생성된 사운드맵을 이용한 사운드 인식방법에 있어서,In the sound recognition method using the sound map generated by the sound map generation method of claim 1,상기 사운드이벤트 ID를 생성하는 단계에서 생성된 제1사운드이벤트 ID와 기 생성되어 저장된 제2사운드이벤트 ID를 서로 비교하는 사운드이벤트 ID 비교단계;A sound event ID comparison step of comparing the first sound event ID generated in the step of generating the sound event ID and the previously generated and stored second sound event ID with each other;상기 제1사운드이벤트 ID가 상기 제2사운드이벤트 ID와 일치하지 않는 경우, 비정상 사운드가 검출된 것으로 판단하는 비정상 사운드 검출단계; 및An abnormal sound detection step of determining that an abnormal sound has been detected when the first sound event ID does not match the second sound event ID; And상기 비정상 사운드가 검출되면 사용자에게 알리는 알람단계Alarm step notifying the user when the abnormal sound is detected를 포함하는 사운드 인식방법.Sound recognition method comprising a.
- 제14항에 있어서,The method of claim 14,상기 사운드이벤트 ID 비교단계는,The sound event ID comparison step,상기 제1사운드이벤트 ID와 상기 제2사운드이벤트 ID가 보유하는 방향성을 가진 사운드를 생성하는 음원의 위치를 각도로 표시하는 방향각과, 상기 방향성를 가진 사운드의 주파수를 서로 비교하는 사운드 인식방법.A sound recognition method for comparing a direction angle indicating a position of a sound source that generates a directional sound held by the first sound event ID and the second sound event ID in an angle, and a frequency of the directional sound.
- 제15항에 있어서,The method of claim 15,상기 사운드이벤트 ID 비교단계는,The sound event ID comparison step,상기 제1사운드이벤트 ID와 상기 제2사운드이벤트 ID가 보유하는 상기 방향성을 가진 사운드의 진폭, 음압 및 음색 중 적어도 하나를 서로 비교하는 사운드 인식방법.A sound recognition method for comparing at least one of an amplitude, a sound pressure, and a tone color of the directional sound held by the first sound event ID and the second sound event ID.
- 사운드를 입력받는 단계;Receiving a sound input;방향성을 가진 사운드를 추출하는 단계;Extracting directional sound;방향성을 가진 사운드로부터 사운드 구간(sound activity)을 검출하는 단계;Detecting a sound activity from a directional sound;검출된 사운드 구간에 존재하는 사운드의 특성값을 획득하는 단계;Obtaining a characteristic value of a sound existing in the detected sound section;획득된 사운드 특성값을 포함하는 사운드이벤트 ID를 생성하는 단계;Generating a sound event ID including the obtained sound characteristic value;동일한 사운드이벤트 ID를 가진 사운드의 발생횟수를 카운트(count)하는 단계;Counting the number of occurrences of sounds having the same sound event ID;발생횟수가 설정값을 초과하는 사운드에 관한 사운드 이벤트 ID를 상기 사운드맵에 저장하는 단계;Storing a sound event ID for a sound whose occurrence frequency exceeds a set value in the sound map;음성명령을 포함하는 사운드를 입력받는 단계;Receiving a sound including a voice command;상기 사운드맵을 이용하여 잡음 방향으로 스티어링벡터(steering vector)를 생성하는 단계;Generating a steering vector in the direction of noise by using the sound map;상기 스티어링벡터가 생성된 방향으로 사운드 빔포밍(beam forming)을 수행하여 잡음을 입력받는 단계;Receiving noise by performing sound beam forming in the direction in which the steering vector is generated;입력된 잡음의 PSD매트릭스(power spectral density matrix)를 계산하는 단계;Calculating a power spectral density matrix of the input noise;음성명령을 포함하는 사운드의 PSD매트릭스를 계산하는 단계; 및Calculating a PSD matrix of sound including voice commands; And음성명령을 포함하는 사운드의 PSD매트릭스와 입력된 잡음의 PSD매트릭스의 차이값을 음성명령의 PSD매트릭스로 하는 음성명령의 PSD매트릭스 도출단계The step of deriving the PSD matrix of the voice command using the difference between the PSD matrix of the sound including the voice command and the PSD matrix of the input noise as the PSD matrix of the voice command를 포함하는 사운드맵을 이용한 사운드 인식방법.Sound recognition method using a sound map comprising a.
- 사운드를 입력받는 단계;Receiving a sound input;방향성을 가진 사운드를 추출하는 단계;Extracting directional sound;방향성을 가진 사운드로부터 사운드 구간을 검출하는 단계;Detecting a sound section from the directional sound;검출된 사운드 구간에 존재하는 사운드의 특성값을 획득하는 단계;Obtaining a characteristic value of a sound existing in the detected sound section;획득된 사운드 특성값을 포함하는 사운드이벤트 ID를 생성하는 단계;Generating a sound event ID including the obtained sound characteristic value;동일한 사운드이벤트 ID를 가진 사운드의 발생횟수를 카운트하는 단계; 및Counting the number of occurrences of sounds having the same sound event ID; And발생횟수가 설정값을 초과하는 사운드에 관한 사운드 이벤트 ID를 상기 사운드맵에 저장하는 단계;Storing a sound event ID for a sound whose occurrence frequency exceeds a set value in the sound map;상기 사운드이벤트 ID를 생성하는 단계에서 생성된 제1사운드이벤트 ID와 기 생성되어 저장된 제2사운드이벤트 ID를 서로 비교하는 사운드이벤트 ID 비교단계;A sound event ID comparison step of comparing the first sound event ID generated in the step of generating the sound event ID and the previously generated and stored second sound event ID with each other;상기 제1사운드이벤트 ID가 상기 제2사운드이벤트 ID와 일치하지 않는 경우, 비정상 사운드가 검출된 것으로 판단하는 비정상 사운드 검출단계; 및An abnormal sound detection step of determining that an abnormal sound has been detected when the first sound event ID does not match the second sound event ID; And상기 비정상 사운드가 검출되면 사용자에게 알리는 알람단계Alarm step notifying the user when the abnormal sound is detected를 포함하는 사운드맵을 이용한 사운드 인식방법.Sound recognition method using a sound map comprising a.
- 컴퓨터를 이용하여 제1항 내지 제18항의 방법 중 어느 한 항의 방법을 실행시키기 위하여 상기 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in the computer-readable recording medium to execute the method of any one of claims 1 to 18 using a computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/007150 WO2020251088A1 (en) | 2019-06-13 | 2019-06-13 | Sound map generation method and sound recognition method using sound map |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/007150 WO2020251088A1 (en) | 2019-06-13 | 2019-06-13 | Sound map generation method and sound recognition method using sound map |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020251088A1 true WO2020251088A1 (en) | 2020-12-17 |
Family
ID=73780775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/007150 WO2020251088A1 (en) | 2019-06-13 | 2019-06-13 | Sound map generation method and sound recognition method using sound map |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020251088A1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6240995B2 (en) * | 1984-12-10 | 1987-09-01 | Nippon Tabako Sangyo Kk | |
KR100586893B1 (en) * | 2004-06-28 | 2006-06-08 | 삼성전자주식회사 | System and method for estimating speaker localization in non-stationary noise environment |
KR101270074B1 (en) * | 2011-05-31 | 2013-05-31 | 삼성에스디에스 주식회사 | Apparatus and method for recognizing situation by audio-visual space map |
KR20140143069A (en) * | 2013-06-05 | 2014-12-15 | 삼성전자주식회사 | Apparatus for dectecting aucoustic event and method and operating method thereof |
KR101548848B1 (en) * | 2011-03-03 | 2015-08-31 | 퀄컴 인코포레이티드 | Systems, methods, apparatus, and computer-readable media for source localization using audible sound and ultrasound |
US20170053667A1 (en) * | 2014-05-19 | 2017-02-23 | Nuance Communications, Inc. | Methods And Apparatus For Broadened Beamwidth Beamforming And Postfiltering |
KR101965313B1 (en) * | 2017-09-14 | 2019-04-03 | 동아대학교 산학협력단 | System for Providing Noise Map Based on Big Data Using Sound Collection Device Looked Like Earphone |
-
2019
- 2019-06-13 WO PCT/KR2019/007150 patent/WO2020251088A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6240995B2 (en) * | 1984-12-10 | 1987-09-01 | Nippon Tabako Sangyo Kk | |
KR100586893B1 (en) * | 2004-06-28 | 2006-06-08 | 삼성전자주식회사 | System and method for estimating speaker localization in non-stationary noise environment |
KR101548848B1 (en) * | 2011-03-03 | 2015-08-31 | 퀄컴 인코포레이티드 | Systems, methods, apparatus, and computer-readable media for source localization using audible sound and ultrasound |
KR101270074B1 (en) * | 2011-05-31 | 2013-05-31 | 삼성에스디에스 주식회사 | Apparatus and method for recognizing situation by audio-visual space map |
KR20140143069A (en) * | 2013-06-05 | 2014-12-15 | 삼성전자주식회사 | Apparatus for dectecting aucoustic event and method and operating method thereof |
US20170053667A1 (en) * | 2014-05-19 | 2017-02-23 | Nuance Communications, Inc. | Methods And Apparatus For Broadened Beamwidth Beamforming And Postfiltering |
KR101965313B1 (en) * | 2017-09-14 | 2019-04-03 | 동아대학교 산학협력단 | System for Providing Noise Map Based on Big Data Using Sound Collection Device Looked Like Earphone |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102137151B1 (en) | Apparatus for noise canceling and method for the same | |
WO2020235712A1 (en) | Artificial intelligence device for generating text or speech having content-based style and method therefor | |
WO2020213762A1 (en) | Electronic device, operation method thereof, and system comprising plurality of artificial intelligence devices | |
KR102225001B1 (en) | Method and apparatus for recognizing a voice | |
KR102226132B1 (en) | Headset and operating method thereof | |
US20210142127A1 (en) | Artificial intelligence apparatus and method for recognizing object included in image data | |
WO2020184748A1 (en) | Artificial intelligence device and method for controlling auto-stop system on basis of traffic information | |
WO2022045425A1 (en) | Inverse reinforcement learning-based delivery means detection apparatus and method | |
WO2019031714A1 (en) | Method and apparatus for recognizing object | |
WO2021015308A1 (en) | Robot and trigger word recognition method therefor | |
WO2020184746A1 (en) | Artificial intelligence apparatus for controlling auto stop system on basis of driving information, and method therefor | |
WO2022055068A1 (en) | Electronic device for identifying command included in voice and operation method therefor | |
WO2020184747A1 (en) | Artificial intelligence device and method for controlling auto-stop system | |
WO2020230933A1 (en) | Artificial intelligence device for recognizing voice of user and method for same | |
WO2020059939A1 (en) | Artificial intelligence device | |
WO2020256175A1 (en) | Sound processing method used in speech recognition robot | |
WO2021206221A1 (en) | Artificial intelligence apparatus using a plurality of output layers and method for same | |
WO2019160396A2 (en) | Guide robot and operation method for guide robot | |
EP3545487A1 (en) | Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium | |
WO2018174443A1 (en) | Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium | |
WO2021177805A1 (en) | Device, method, and system for sound source localization and sound source cancellation | |
WO2020184753A1 (en) | Artificial intelligence apparatus for performing voice control by using voice extraction filter, and method therefor | |
KR102206181B1 (en) | Terminla and operating method thereof | |
WO2020141641A1 (en) | Sleep inducing device | |
WO2020251088A1 (en) | Sound map generation method and sound recognition method using sound map |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19932598 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19932598 Country of ref document: EP Kind code of ref document: A1 |