JP6908286B2 - Information processing equipment, information processing methods and programs - Google Patents
Information processing equipment, information processing methods and programs Download PDFInfo
- Publication number
- JP6908286B2 JP6908286B2 JP2018538442A JP2018538442A JP6908286B2 JP 6908286 B2 JP6908286 B2 JP 6908286B2 JP 2018538442 A JP2018538442 A JP 2018538442A JP 2018538442 A JP2018538442 A JP 2018538442A JP 6908286 B2 JP6908286 B2 JP 6908286B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- coordinate system
- class
- series data
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Algebra (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
Description
本開示は、情報処理装置、情報処理方法およびプログラムに関し、特に、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができるようにした情報処理装置、情報処理方法およびプログラムに関する。 The present disclosure relates to information processing devices, information processing methods and programs, and in particular, information processing devices, information processing methods and programs capable of improving accuracy in the process of segmenting series data and classifying them into segments. Regarding the program.
一般的に、人間は、自身が知覚した連続的な情報を、意味をもつ単位に分節化することによって認識している。例えば、人間は、連続している音声波形を分節化することによって、意味を持つ単位である単語を認識したり、連続的な動作を分節化することによって、意味のある単位動作を認識したりすることができる。 In general, humans perceive continuous information that they perceive by segmenting it into meaningful units. For example, humans can recognize words that are meaningful units by segmenting continuous speech waveforms, or recognize meaningful unit movements by segmenting continuous movements. can do.
また、このように連続的な情報を分節化する際、人間は、無数の可能性がある中で、明示的な分節点を与えられることなく学習して、意味をもつ単位に分節化することができる。従って、例えば、ロボットにおいても、言語や動作、ジェスチャなどを柔軟に学習するために、連続的な時系列情報から単位系列への分節化を教師なしで行う能力を備えることは、非常に重要であると考えられる。 In addition, when segmenting continuous information in this way, human beings learn without being given explicit segment points and segment into meaningful units in the myriad of possibilities. Can be done. Therefore, for example, it is very important for robots to have the ability to segment continuous time series information into unit series without a teacher in order to flexibly learn languages, movements, gestures, etc. It is believed that there is.
そこで、本発明者らは、例えば、ガウス過程の隠れセミマルコフモデルに基づいて、身体の動作系列を分節化して、それぞれの単位動作を分類する手法を提案している(例えば、非特許文献1参照)。 Therefore, the present inventors have proposed, for example, a method of segmenting a body motion sequence based on a hidden semi-Markov model of the Gaussian process and classifying each unit motion (for example, Non-Patent Document 1). reference).
ところで、上述した非特許文献1で提案されている手法では、固定された座標系のみを利用して、身体の動作系列が分節化され、それぞれの単位動作が分類される。しかしながら、一般的に、様々な動作の中には、動作を行う対象物が重要となることがある。
By the way, in the method proposed in
例えば、物を掴むという動作は、掴む対象物の位置によって、その動作軌道が変化することになる。そのような動作については、動作を行う対象となる対象物を考慮しない場合、身体の動作系列を分節化して、それぞれの単位動作を分類する処理を正確に行うことは困難であると想定される。 For example, in the action of grasping an object, the motion trajectory changes depending on the position of the object to be grasped. For such movements, it is assumed that it is difficult to accurately classify each unit movement by segmenting the movement series of the body without considering the object to be performed. ..
本開示は、このような状況に鑑みてなされたものであり、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができるようにするものである。 The present disclosure has been made in view of such a situation, and is intended to improve the accuracy in the process of segmenting the series data and classifying it into segments.
本開示の一側面の情報処理装置は、系列データの座標系を、第1の座標系または第2の座標系に変換する座標系変換部と、前記座標系変換部により前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定する特定部と、前記特定部が前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するパラメータ調整部とを備える。 The information processing apparatus of one aspect of the present disclosure includes a coordinate system conversion unit that converts a coordinate system of series data into a first coordinate system or a second coordinate system, and the first coordinate system by the coordinate system conversion unit. Alternatively, a plurality of unit series data obtained by segmenting the series data converted into the second coordinate system, a specific unit that specifies a class for classifying the unit series data, and the specific unit that specifies the unit series data and It is provided with a parameter adjusting unit that adjusts the parameters used when specifying the class.
本開示の一側面の情報処理方法またはプログラムは、系列データの座標系を、第1の座標系または第2の座標系に変換し、前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するステップを含む。 The information processing method or program of one aspect of the present disclosure converts the coordinate system of the series data into the first coordinate system or the second coordinate system, and converts it into the first coordinate system or the second coordinate system. It includes a plurality of unit series data obtained by segmenting the series data, a class for classifying the unit series data, and adjusting the unit series data and parameters used when specifying the class. ..
本開示の一側面においては、系列データの座標系が、第1の座標系または第2の座標系に変換され、第1の座標系または第2の座標系に変換された系列データを分節化した複数の単位系列データ、および、それぞれの単位系列データを分類するクラスが特定され、単位系列データおよびクラスを特定するときに利用するパラメータが調整される。 In one aspect of the present disclosure, the coordinate system of the series data is converted to the first coordinate system or the second coordinate system, and the series data converted into the first coordinate system or the second coordinate system is segmented. The plurality of unit series data and the class for classifying each unit series data are specified, and the unit series data and the parameters used when specifying the class are adjusted.
本開示の一側面によれば、系列データを分節化して分節ごとに分類する処理における正確性の向上を図ることができる。 According to one aspect of the present disclosure, it is possible to improve the accuracy in the process of segmenting the series data and classifying it into segments.
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。 Hereinafter, specific embodiments to which the present technology is applied will be described in detail with reference to the drawings.
<ガウス過程について> <About the Gaussian process>
まず、図1乃至4を参照して、ガウス過程について説明する。 First, the Gaussian process will be described with reference to FIGS. 1 to 4.
図1において、縦軸は観測値を示し、横軸は時間を示しており、時間の経過に従った観測値の変化が観測系列Sとして表されている。 In FIG. 1, the vertical axis represents the observed value, the horizontal axis represents the time, and the change of the observed value with the passage of time is represented as the observation series S.
図1に示すように、観測系列Sは、所定のクラス(形状の類似する波形)ごとに分節化して、それぞれの所定形状の波形を表す単位系列xjごとに分類することができる。図1の例では、単位系列x1およびx2は、観測値が凸型形状となった後に凹型形状となるクラスに分類され、単位系列x3およびx5は、観測値が平坦形状となるクラスに分類され、単位系列x4は、観測値が凸型形状となるクラスに分類することができる。As shown in FIG. 1, the observation sequence S can be segmented into predetermined classes (waveforms having similar shapes) and classified into unit sequences x j representing the waveforms of each predetermined shape. In the example of FIG. 1, the unit series x 1 and x 2 are classified into a class in which the observed value becomes a convex shape and then a concave shape, and the unit series x 3 and x 5 have an observed value in a flat shape. It is classified into classes, and the unit series x 4 can be classified into classes in which the observed values have a convex shape.
このような分節化を行う手法としては、例えば、隠れセミマルコフモデル(HSMM:Hidden Semi- Markov Model)における出力をガウス過程とすることで、1つの状態が1つの連続的な単位系列xjを表現するモデルを利用することができる。As a method for performing such segmentation, for example, by setting the output in the Hidden Semi-Markov Model (HSMM) as a Gaussian process, one state can be a continuous unit series x j . You can use the model to represent.
即ち、図1に示されている各クラスはガウス過程で表現することができ、観測系列Sは、それぞれのクラスから生成された単位系列xj(図1の例では、j=1〜5)を繋ぎ合わせることで生成される。そして、観測系列Sのみに基づいてモデルのパラメータを学習することで、観測系列Sを単位系列xjへ分節化する分節点、および、単位系列xjのクラスを、教師なしで推定することができる。That is, each class shown in FIG. 1 can be represented by a Gaussian process, and the observation sequence S is a unit sequence x j generated from each class (in the example of FIG. 1, j = 1 to 5). It is generated by connecting. Then, by learning the parameters of the model based only on the observation series S, it is possible to estimate the segment points that segment the observation series S into the unit series x j and the class of the unit series x j without a teacher. can.
図2には、観測系列Sを単位系列xjごとに分節化する手法のグラフィカルモデルが示されている。FIG. 2 shows a graphical model of a method of segmenting the observation sequence S for each unit sequence x j.
図2に示すように、観測系列Sは、単位系列xj、単位系列xjのクラスcj、および、クラスcのガウス過程のパラメータXcを用いたモデルにより表すことができる。そして、これらの単位系列xjを結合することで、観測系列S(=x0,x1,・・・,xJ)が生成される。なお、ガウス過程のパラメータXcは、クラスcに分類された単位系列xの集合であり、分節数Jは、観測系列Sが分節化された単位系列xの個数を表す整数である。As shown in FIG. 2, observation sequence S is the unit sequence x j, class c j of a unit sequence x j, and can be represented by the model using the parameters X c of Gaussian process of class c. Then, by combining these unit series x j , the observation series S (= x 0 , x 1 , ..., X J ) is generated. The parameter X c of the Gaussian process is a set of unit series x classified into class c, and the number of segments J is an integer representing the number of unit series x in which the observation series S is segmented.
ここで、時系列データは、ガウス過程を出力分布とする隠れセミマルコフモデルによって生成されると仮定すると、クラスcjは、次の式(1)により決定され、単位系列xjは、次の式(2)により生成される。Here, assuming that the time series data is generated by a hidden semi-Markov model whose output distribution is a Gaussian process, the class c j is determined by the following equation (1), and the unit series x j is as follows. It is generated by the formula (2).
そして、隠れセミマルコフモデルと、式(2)に示すガウス過程のパラメータXcを推定することで、観測系列Sを単位系列xjへ分節化して、それぞれの単位系列xjをクラスcごとに分類することが可能となる。Then, a hidden semi Markov models, to estimate the parameters X c of Gaussian process shown in Equation (2), and segmented the observation sequence S into unit sequence x j, each unit sequence x j for each class c It becomes possible to classify.
また、例えば、単位系列のタイムステップiにおける出力値xiはガウス過程回帰で学習することによって、連続的な軌道として表現される。従って、ガウス過程では、同一クラスに属する単位系列のタイムステップiにおける出力値xの組(i,x)が得られたとき、タイムステップi’における出力値x’の予測分布は、次の式(3)により表されるガウス分布となる。なお、式(3)において、kは、k(ip,iq)を要素に持つベクトルであり、cは、k(i’,i’)となるスカラーであり、Cは、次の式(4)に示すような要素を持つ行列である。Further, for example, the output value x i at time step i of the unit series by learning a Gaussian process regression, represented as a continuous track. Therefore, in the Gaussian process, when the set (i, x) of the output value x in the time step i of the unit series belonging to the same class is obtained, the predicted distribution of the output value x'in the time step i'is as follows. It has a Gaussian distribution represented by (3). In the equation (3), k is a vector of k (i p, i q) of an element, c is, k (i ', i' ) and a scalar composed, C is the following formula It is a matrix having elements as shown in (4).
ただし、式(4)において、βは、観測値に含まれるノイズの精度を表すハイパーパラメータである。 However, in equation (4), β is a hyperparameter representing the accuracy of noise included in the observed value.
また、ガウス過程では、カーネルを用いることで複雑に変化する系列データであっても学習することができ、例えば、ガウス過程回帰に広く使用されている次の式(5)で表されるガウスカーネルを用いることができる。ただし、式(5)において、θ*は、カーネルのパラメータである。Further, in the Gaussian process, even series data that changes in a complicated manner can be learned by using the kernel. For example, the Gaussian kernel represented by the following equation (5) widely used for Gaussian process regression. Can be used. However, in equation (5), θ * is a kernel parameter.
そして、出力値xiが多次元のベクトル(xi=xi,0,xi,1,・・・)である場合には、各次元が独立に生成されると仮定して、時刻iの観測値xiがクラスcに対応するガウス過程から生成される確率GPは、次の式(6)を演算することで求められる。Then, when the output value x i is a multidimensional vector (x i = x i, 0 , x i, 1 , ...), It is assumed that each dimension is generated independently, and the time i probability GP of observations x i is generated from Gaussian process corresponding to the class c is determined by calculating the following equation (6).
このようにして求められる確率GPを用いることで、類似する単位系列を、同一のクラスに分類することができる。 By using the probability GP obtained in this way, similar unit series can be classified into the same class.
ところで、隠れセミマルコフモデルでは、1つのクラスcに分類される単位系列xjの長さは、クラスcによって異なることより、ガウス過程のパラメータXcを推定する際に、単位系列xjの長さも推定する必要がある。By the way, in the hidden semi-Markov model, the length of the unit series x j classified into one class c differs depending on the class c. Therefore, when estimating the parameter X c of the Gaussian process, the length of the unit series x j It also needs to be estimated.
例えば、図3に示すように、単位系列xjの長さkは、時刻tのデータ点を終点とした長さkの単位系列xjがクラスcに分類される確率からサンプリングすることによって決定することができる。従って、単位系列xjの長さkを決定するためには、様々な長さkと全てのクラスcとの組み合わせの確率を、後述するようなFFBS(Forward filtering-Backward sampling)を利用して計算する必要がある。For example, as shown in FIG. 3, the length k of the unit series x j is determined by sampling from the probability that the unit series x j of the length k having the data point at time t as the end point is classified into the class c. can do. Therefore, in order to determine the length k of the unit series x j , the probability of the combination of various lengths k and all the classes c is determined by using FFBS (Forward filtering-Backward sampling) as described later. Need to calculate.
そして、ガウス過程のパラメータXcを推定することにより、図4に示すように、単位系列xjを、観測値が凸型形状となった後に凹型形状となるクラスに分類したり、単位系列xj+1を、観測値が平坦形状となるクラスに分類したりすることができる。Then, by estimating the parameter X c of the Gaussian process, as shown in FIG. 4, the unit series x j can be classified into a class in which the observed value becomes a convex shape and then becomes a concave shape, or the unit series x. j + 1 can be classified into a class in which the observed value has a flat shape.
<FFBSについて> <About FFBS>
図5および図6を参照して、FFBSについて説明する。 The FFBS will be described with reference to FIGS. 5 and 6.
例えば、FFBSでは、時刻tのデータ点を終点として長さkの単位系列xjがクラスcに分類される確率α[t][k][c]を前向きに計算し、その確率α[t][k][c]に従って後ろから順に、単位系列xjの長さkおよびクラスcをサンプリングして決定することができる。例えば、確率α[t][k][c]は、後述する式(11)に示すように、時刻t−kから時刻tへ遷移する可能性を周辺化することで再帰的に計算することができる。 For example, in FFBS, the probabilities α [t] [k] [c] in which the unit series x j of length k is classified into class c with the data point at time t as the end point are positively calculated, and the probabilities α [t] are calculated positively. ] [k] in order from the back in accordance with [c], the length k and class c of a unit sequence x j can be determined by sampling. For example, the probabilities α [t] [k] [c] are recursively calculated by marginalizing the possibility of transition from time tk to time t, as shown in the equation (11) described later. Can be done.
図5には、フォワードフィルタリングの一例として、時刻tを終点として、長さk=2かつクラスc=2の単位系列xjに遷移する確率α[t][k=2][c=2]の求め方が模式的に示されている。In FIG. 5, as an example of forward filtering, the probabilities α [t] [k = 2] [c = 2] of transitioning to the unit series xj of length k = 2 and class c = 2 with time t as the end point. How to find is schematically shown.
図5の下側に示す数式で表されるように、例えば、時刻tにおける長さk=2かつクラスc=2の単位系列xjに遷移する可能性について、時刻t−2における長さk=1かつクラスc=1の単位系列xjからの遷移の可能性はp(2|1)α[t−2][1][1]である。また、時刻t−2における長さk=2かつクラスc=1の単位系列xjからの遷移の可能性はp(2|1)α[t−2][2][1]であり、時刻t−2における長さk=3かつクラスc=1の単位系列xjからの遷移の可能性はp(2|1)α[t−2][3][1]である。同様に、時刻t−2における長さk=1かつクラスc=2の単位系列xjからの遷移の可能性はp(2|2)α[t−2][1][2]であり、時刻t−2における長さk=2かつクラスc=2の単位系列xjからの遷移の可能性はp(2|2)α[t−2][2][2]であり、時刻t−2における長さk=3かつクラスc=2の単位系列xjからの遷移の可能性はp(2|2)α[t−2][3][2]である。As represented by formula shown at the bottom of FIG. 5, for example, the possibility of transition to the length k = 2 and class c = 2 units sequence x j at time t, the length k at time t-2 = 1 and the possibility of transition from the class c = 1 unit sequence x j is p | a (2 1) α [t- 2] [1] [1]. Moreover, the possibility of the transition from the length k = 2 and class c = 1 unit sequence x j at time t-2 p (2 | 1 ) α [t-2] a [2] [1], the possibility of the transition from the length k = 3 and class c = 1 unit sequence x j at time t-2 p (2 | 1 ) α [t-2] [3] is [1]. Similarly, the time length in t-2 k = 1 and the possibility of transition from the class c = 2 units series x j p (2 | 2) α [t-2] [1] be [2] , the possibility of the transition from the length k = 2 and class c = 2 units sequence x j at time t-2 p | a (2 2) α [t- 2] [2] [2], the time the possibility of the transition from the length k = 3 and class c = 2 units sequence x j in t-2 p (2 | 2 ) α [t-2] [3] is [2].
このような計算を、確率α[0][*][*]から動的計画法で前向きに行うことで、あらゆる確率α[t][k][c]を求めることができる。 By performing such a calculation positively from the probabilities α [0] [*] [*] by dynamic programming, any probabilities α [t] [k] [c] can be obtained.
図6には、バックワードサンプリングの一例として、長さk=3および長さk=2の場合のサンプリングが模式的に示されている。 FIG. 6 schematically shows sampling when the length k = 3 and the length k = 2 as an example of backward sampling.
例えば、時刻tにおける長さk=3かつクラスc=1の単位系列xjへの遷移は、長さk=3であることより、時刻t−3の単位系列xjのいずれかが可能であり、それらの確率α[t−3][*][*]から決定することができる。 For example, the transition to the unit series x j of the length k = 3 and the class c = 1 at the time t can be any of the unit series x j at the time t-3 because the length k = 3. Yes, it can be determined from their probabilities α [t-3] [*] [*].
ここで、例えば、時刻t−3において長さk=2かつクラスc=2の単位系列xjが決定されたとする。この場合、その単位系列xjへの遷移は、長さk=2であることより、時刻t−5の単位系列xjのいずれかが可能であり、それらの確率α[t−5][*][*]から決定することができる。Here, for example, it is assumed that the unit series x j having a length k = 2 and a class c = 2 is determined at time t-3. In this case, since the transition to the unit series x j has a length k = 2, any one of the unit series x j at time t-5 is possible, and their probabilities α [t-5] [ *] Can be determined from [*].
このように、確率α[t][k][c]に基づいたサンプリングを後ろから順に行うことで、全ての単位系列xjの長さkおよびクラスcを決定することができる。In this way, by performing sampling based on the probabilities α [t] [k] [c] in order from the back, the length k and the class c of all the unit series x j can be determined.
<情報処理装置の構成例> <Configuration example of information processing device>
図7は、本技術を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。 FIG. 7 is a block diagram showing a configuration example of an embodiment of an information processing device to which the present technology is applied.
図7に示すように、情報処理装置11は、座標系変換部12、BGS実行部13、およびFFBS実行部14を備えて構成される。また、FFBS実行部14は、フォワードフィルタリング部15およびバックワードサンプリング部16を有して構成される。
As shown in FIG. 7, the
ここで、本実施の形態では、ロボットハンドで物を掴むという動作(後述の図15参照)のように、掴むという動作の対象となる物体(以下、ランドマークと称する)に向かって、ロボットハンドのように動作を行う主体となる物体(以下、トラジェクタと称する)を近づける動作を行う例について説明する。また、本実施の形態では、座標系の原点とする参照点をトラジェクタおよびランドマークのどちらに設定するかについて、クラスcごとに予め設定されている。 Here, in the present embodiment, the robot hand is directed toward an object (hereinafter referred to as a landmark) that is the target of the operation of grasping, such as the operation of grasping an object with the robot hand (see FIG. 15 described later). An example of performing an operation of bringing an object (hereinafter, referred to as a projector), which is a main body of the operation, close to the object will be described. Further, in the present embodiment, whether to set the reference point as the origin of the coordinate system to the projector or the landmark is set in advance for each class c.
座標系変換部12には、観測値として、所定の基準点に対してトラジェクタが移動する座標を表すベクトルpnが供給される。また、座標系変換部12には、所定の基準点に対してランドマークが配置されている位置の座標を表すベクトルplandmarkが設定されている。そして、座標系変換部12は、クラスcごとに設定されている参照点に従って、ベクトルpnを、トラジェクタまたはランドマークいずれかを原点とした座標系に変換したベクトルp’nに変換して、FFBS実行部14のフォワードフィルタリング部15に供給する。The coordinate
例えば、座標系変換部12は、クラスcの参照点がトラジェクタに設定されている場合、ベクトルpt−kからベクトルpkまでの分節s’t−k:k(=pt−k,pt−k+1,・・・,pk)を、次の式(7)に従って、トラジェクタの初期位置を原点とした座標系へと変換する。For example, the coordinate
これにより、図8のAに示すように、ベクトルpnは、トラジェクタを原点として、水平方向に向かってx軸が設定され、x軸に対して直交する方向であって、かつ、重力方向に対して逆方向となるようにy軸が設定される座標系のベクトルp’nに変換される。Thus, as shown in A of FIG. 8, the vector p n, as the origin of trajector, x-axis is set toward a horizontal direction, a direction orthogonal to the x axis, and the direction of gravity y-axis is converted into a vector p 'n coordinate system that is set to be backward against.
一方、座標系変換部12は、クラスcの参照点がランドマークに設定されている場合、図8のBに示すように、ランドマークを原点として、ランドマークからトラジェクタへ向かう方向にx軸が設定され、x軸に対して直交する方向であって、かつ、重力方向に対して逆側に向かうようにy軸が設定される座標系へと変換する。例えば、データ点が二次元ベクトルpn=(pn,0,pn,1)の場合、座標系変換部12は、次の式(8)、式(9)、および式(10)に従って、ランドマークを原点とした座標系を求める。ただし、式(8)に示すR(θ)はθ回転の回転行列であり、式(10)に示すように表される。On the other hand, when the reference point of the class c is set to the landmark, the coordinate
BGS実行部13は、観測系列Sを分節化する際の単位系列xjの長さkと、それぞれの単位系列xjのクラスcとをサンプリングすることにより推定するBGS(Blocked Gibbs Sampler)を実行する。また、BGS実行部13は、効率的に計算を行うために、1つの観測系列Sを分節化する際の単位系列xjの長さkと、それぞれの単位系列xjのクラスcとをまとめてサンプリングすることができる。なお、BGS実行部13により実行されるBGSアルゴリズムについては、図9のフローチャートを参照して後述する。The
そして、BGS実行部13は、FFBS実行部14が、後述する式(13)により遷移確率を求める際に用いるパラメータN(cn,j)およびパラメータN(cn,j,cn,j+1)を、FFBS実行部14に供給する。例えば、パラメータN(cn,j)は、クラスcn,jとなった分節の数を表し、パラメータN(cn,j,cn,j+1)は、クラスcn,jからクラスcn,j+1に遷移した回数を表している。さらに、BGS実行部13は、パラメータN(cn,j)およびパラメータN(cn,j,cn,j+1)を、現在のパラメータN(c’)およびパラメータN(c’,c)としてFFBS実行部14に供給するとともに、分節対象の観測系列SをFFBS実行部14に供給する。 Then, the BGS execution unit 13 uses the parameters N (cn, j ) and the parameters N (cn , j , cn , j + 1 ) used by the
FFBS実行部14は、上述した非特許文献1と同様に、観測系列Sを分節化する際の単位系列xjの長さkと、それぞれの単位系列xjのクラスcとの両方を隠れ変数とみなして同時にサンプリングするFFBSを実行する。Similar to
フォワードフィルタリング部15は、図5を参照して上述したように、ある時刻tを終点として、長さkの単位系列xjがクラスcに分類される確率α[t][k][c]を求めて、バックワードサンプリング部16に供給する。As described above with reference to FIG. 5, the
例えば、フォワードフィルタリング部15は、座標系変換部12から供給されるベクトルp’に基づいた分節s’t−k:k(=p’t−k,p’t−k+1,・・・,p’k)が、クラスcとなる確率α[t][k][c]を、次の式(11)を演算することにより求めることができる。For example, forward filtering
ただし、式(11)において、Cはクラス数であり、Kは単位系列の最大の長さである。また、P(s’t−k:k|Xc)は、クラスcから分節s’t−k:kが生成される確率であり、次の式(12)で求められる。However, in equation (11), C is the number of classes and K is the maximum length of the unit series. Further, P ( s'tk: k | X c ) is the probability that the segment s'tk: k is generated from the class c, and is obtained by the following equation (12).
ただし、式(12)のPlen(k|λ)は、平均をλとするポアソン分布であり、分節長の確率分布である。また、式(11)のp(c|c’)は、クラスの遷移確率を表しており、次の式(13)で求められる。 However, Plen (k | λ) in Eq. (12) is a Poisson distribution having an average of λ, and is a probability distribution of segment length. Further, p (c | c') in the equation (11) represents the transition probability of the class, and is obtained by the following equation (13).
ただし、式(13)において、N(c’)は、クラスc’となった分節の数を表し、N(c’,c)は、クラスc’からクラスcに遷移した回数を表しており、BGS実行部13から供給されるパラメータN(cn,j)およびN(cn,j,cn,j+1)がそれぞれ用いられる。また、k’は、分節s’t−k:kの前の分節の長さを表し、c’は、分節s’t−k:kの前の分節のクラスを表しており、式(11)では、全ての長さkおよびクラスcにおいて周辺化されている。However, in the equation (13), N (c') represents the number of segments that have become class c', and N (c', c) represents the number of transitions from class c'to class c. , Parameters N (cn, j ) and N (cn , j , cn , j + 1 ) supplied from the
なお、t−k<0となる場合、確率α[t][k][*]=0であり、確率α[0][0][*]=1.0である。そして、式(11)は、漸化式になっており、確率α[1][1][*]から計算をすることで、全てのパターンを動的計画法により計算することができる。 When t−k <0, the probability α [t] [k] [*] = 0 and the probability α [0] [0] [*] = 1.0. The equation (11) is a recurrence formula, and all patterns can be calculated by dynamic programming by calculating from the probabilities α [1] [1] [*].
バックワードサンプリング部16は、図6を参照して上述したように、フォワードフィルタリング部15から供給される前向き確率α[t][k][c]に従い、後ろ向きに単位系列の長さおよびクラスをサンプリングする。これにより、バックワードサンプリング部16は、観測系列Sを分節化した単位系列xjの長さkと、それぞれの単位系列xjのクラスcとを決定することができる。As described above with reference to FIG. 6, the
以上のように情報処理装置11は構成されており、座標系変換部12によりトラジェクタまたはランドマークいずれかを原点とした座標系に変換することができる。これにより、情報処理装置11は、例えば、トラジェクタがランドマークに向かって移動するような動作について、正確に、その動作を表す単位系列を分節化し、その動作を示すクラスに単位系列を分類することができる。
As described above, the
また、情報処理装置11は、このような分節化および分類を行う際に、BGS実行部13およびFFBS実行部14による処理を、全ての観測系列Sに対して繰り返すことで、観測系列Sを分節化した単位系列xjの長さk(分節点)と、ガウス過程のパラメータXcとを交互に最適化することができる。Further, when the
<BGS処理> <BGS processing>
図9を参照して、BGS実行部13により実行されるBGS処理について説明する。
The BGS process executed by the
ステップS11において、BGS実行部13は、分節化および分類を行う対象となる観測系列Sが情報処理装置11に供給されると、観測系列Sを初期化する。例えば、BGS実行部13は、複数の観測系列Sn(n=1〜N)に対してまとめてサンプリングを行い、ステップS11では、観測系列S1から観測系列SNまでの全てに対して、ランダムに分節化および分類することで初期化を行う。In step S11, the
ステップS12において、BGS実行部13は、観測系列Snのインデックスnに、初期値としての1をセットし、ステップS13において、BGS実行部13は、単位系列xn,jのインデックスjに、初期値としての1をセットする。In step S12,
ステップS14において、BGS実行部13は、パラメータN(cn,j)をディクリメントし、ステップS15において、BGS実行部13は、パラメータN(cn,j,cn,j+1)をディクリメントする。In step S14, the
ステップS16において、BGS実行部13は、単位系列xn,jを、ガウス過程のパラメータX(cn,j)から削除する。In step S16, the
ステップS17において、BGS実行部13は、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jnとなるまで処理を繰り返したか否かを判定する。In step S17,
ステップS17において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jnとなるまで処理を繰り返していないと判定した場合、処理はステップS18に進む。In step S17, if the
ステップS18において、BGS実行部13は、単位系列xn,jのインデックスjをインクリメントした後、処理はステップS14に戻り、以下、同様の処理が繰り返して行われる。In step S18, the
一方、ステップS17において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jnとなるまで処理を繰り返したと判定した場合、処理はステップS19に進む。On the other hand, in step S17, if the
ステップS19において、後述の図10を参照して説明するように、FFBS実行部14によりFFBS処理が実行される。
In step S19, the FFBS processing is executed by the
ステップS20において、BGS実行部13は、単位系列xn,jのインデックスjに、初期値としての1をセットする。In step S20, the
ステップS21において、BGS実行部13は、パラメータN(cn,j)をインクリメントし、ステップS22において、BGS実行部13は、パラメータN(cn,j,cn,j+1)をインクリメントする。In step S21, the BGS execution unit 13 increments the parameter N (cn, j ), and in step S22, the
ステップS23において、BGS実行部13は、単位系列xn,jを、ガウス過程のパラメータX(cn,j)に追加する。In step S23, the
ステップS24において、BGS実行部13は、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jnとなるまで処理を繰り返したか否かを判定する。In step S24,
ステップS24において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jnとなるまで処理を繰り返していないと判定した場合、処理はステップS25に進む。In step S24, if the
ステップS25において、BGS実行部13は、単位系列xn,jのインデックスjをインクリメントした後、処理はステップS21に戻り、以下、同様の処理が繰り返して行われる。In step S25, the
一方、ステップS24において、BGS実行部13が、単位系列xn,jのインデックスjが、現時点で分節化されている単位系列xn,jの個数Jnとなるまで処理を繰り返したと判定した場合、処理はステップS26に進む。On the other hand, in step S24, if the
ステップS26において、BGS実行部13は、観測系列Snのインデックスnが、観測系列Snの系列数Nとなるまで処理を繰り返したか否かを判定する。In step S26,
ステップS26において、BGS実行部13が、観測系列Snのインデックスnが、観測系列Snの系列数Nとなるまで処理を繰り返していないと判定した場合、処理はステップS27に進む。In step S26,
ステップS27において、BGS実行部13は、観測系列Snのインデックスnをインクリメントした後、処理はステップS13に戻り、以下、同様の処理が繰り返して行われる。In step S27,
一方、ステップS26において、BGS実行部13が、観測系列Snのインデックスnが、観測系列Snの系列数Nとなるまで処理を繰り返したと判定した場合、処理はステップS28に進む。On the other hand, in step S26,
ステップS28において、BGS実行部13は、ステップS12からステップS27までの処理を繰り返して行った結果、ステップS19のFFBS処理で求められる単位系列xn,jおよびクラスcn,jそれぞれが収束したか否かを判定する。In step S28, BGS execution unit 13 a result of conducted by repeating the processing from step S12 to step S27, whether the unit sequence x n sought FFBS processing in step S19, j and class c n, j respectively converged Judge whether or not.
ステップS28において、BGS実行部13が、現時点で求められている単位系列xn,jおよびクラスcn,jは、それぞれ収束していないと判定した場合、処理はステップS12に戻り、以下、同様の処理が繰り返される。In step S28, when the
一方、ステップS28において、BGS実行部13が、現時点で求められている単位系列xn,jおよびクラスcn,jは、それぞれ収束したと判定した場合、BGS処理は終了される。On the other hand, in step S28,
<FFBS処理> <FFBS processing>
図10を参照して、図9のステップS19においてFFBS実行部14により実行されるFFBS処理について説明する。なお、ステップS31からステップS41まではフォワードフィルタリング部15により処理が行われ、ステップS42からステップS47まではバックワードサンプリング部16により処理が行われる。
The FFBS process executed by the
ステップS31において、フォワードフィルタリング部15は、タイムステップtに、初期値としての1をセットし、ステップS32において、FFBS実行部14は、単位系列xn,jの長さkに、初期値としての1をセットする。In step S31, the
ステップS33において、フォワードフィルタリング部15は、複数のクラスcについて確率α[t][k][c]を求めるのに、所定の順番でクラスcを選択して処理を行い、まず、1番目のクラスcを選択する。
In step S33, the
ステップS34において、後述の図11を参照して説明するように、座標系変換部12による座標系変換処理が行われる。
In step S34, the coordinate system conversion process is performed by the coordinate
ステップS35において、フォワードフィルタリング部15は、ステップS34で座標系が変換されたベクトルp’を用いて、上述した式(11)を演算することにより、確率α[t][k][c]を算出する。
In step S35, the
ステップS36において、フォワードフィルタリング部15は、全てのクラスcについて確率α[t][k][c]を求める処理を行ったか否かを判定する。
In step S36, the
ステップS36において、フォワードフィルタリング部15が、全てのクラスcについて確率α[t][k][c]を求める処理を行っていないと判定した場合、処理はステップS37に進む。
If it is determined in step S36 that the
ステップS37において、フォワードフィルタリング部15は、所定の順番で次のクラスを選択した後、処理はステップS34に戻り、同様の処理が繰り返して行われる。
In step S37, the
一方、ステップS36において、フォワードフィルタリング部15が、全てのクラスcについて確率α[t][k][c]を求める処理を行ったと判定した場合、処理はステップS38に進む。
On the other hand, if it is determined in step S36 that the
ステップS38において、フォワードフィルタリング部15は、単位系列xn,jの長さkが、単位系列xn,jの最大の長さKとなるまで処理を繰り返したか否かを判定する。In step S38, the
ステップS38において、フォワードフィルタリング部15が、単位系列xn,jの長さkが、単位系列xn,jの最大の長さKとなるまで処理を繰り返していないと判定した場合、処理はステップS39に進む。In step S38, the case of
ステップS39において、フォワードフィルタリング部15は、単位系列xn,jの長さkをインクリメントした後、処理はステップS33に戻り、以下、同様の処理が繰り返して行われる。In step S39, the
一方、ステップS38において、フォワードフィルタリング部15が、単位系列xn,jの長さkが、単位系列xn,jの最大の長さKとなるまで処理を繰り返したと判定した場合、処理はステップS40に進む。On the other hand, in step S38, the case of
ステップS40において、フォワードフィルタリング部15は、タイムステップtが、タイムステップtの最大値Tとなるまで処理を繰り返したか否かを判定する。
In step S40, the
ステップS40において、フォワードフィルタリング部15が、タイムステップtが、タイムステップtの最大値Tとなるまで処理を繰り返していないと判定した場合、処理はステップS41に進む。
If the
ステップS41において、フォワードフィルタリング部15は、タイムステップtをインクリメントした後、処理はステップS32に戻り、以下、同様の処理が繰り返して行われる。
In step S41, the
一方、ステップS40において、フォワードフィルタリング部15が、タイムステップtが、タイムステップtの最大値Tとなるまで処理を繰り返したと判定した場合、処理はステップS42に進む。
On the other hand, in step S40, when the
ステップS42において、バックワードサンプリング部16は、タイムステップtに、初期値としての最大値Tをセットし、単位系列xn,jのインデックスjに、初期値としての1をセットする。In step S42, the
ステップS43において、バックワードサンプリング部16は、ステップS35で求められた確率α[t][k][c]に基づいて、単位系列xn,jの長さkとクラスcをサンプリングする。In step S43, the
ステップS44において、バックワードサンプリング部16は、タイムステップtを、現時点の単位系列xn,jの長さkだけ後ろ方向に戻す(t=t−k)。In step S44, the backward sampling unit 16 returns the time step t backward by the length k of the current unit series x n, j (t = tk).
ステップS45において、バックワードサンプリング部16は、単位系列xn,jのインデックスjをインクリメントする。In step S45, the
ステップS46において、バックワードサンプリング部16は、タイムステップtが0となるまで処理を繰り返したか否かを判定する。
In step S46, the
ステップS46において、バックワードサンプリング部16が、タイムステップtが0となるまで処理を繰り返していないと判定した場合、処理はステップS43に戻り、以下、同様の処理が繰り返して行われる。
If the
一方、ステップS46において、バックワードサンプリング部16が、タイムステップtが0となるまで処理を繰り返したと判定した場合、処理はステップS47に進む。
On the other hand, in step S46, when the
ステップS47において、バックワードサンプリング部16は、ステップS43のサンプリングを繰り返して求めた単位系列xn,jとクラスcn,jの組み合わせをBGS実行部13に出力し、FFBS処理は終了される。In step S47, the
<座標系変換処理> <Coordinate system conversion process>
図11を参照して、図10のステップS34において座標系変換部12により実行される座標系変換処理について説明する。
With reference to FIG. 11, the coordinate system conversion process executed by the coordinate
ステップS51において、座標系変換部12は、座標系変換処理の対象となっている単位系列xn,jを表す全てのベクトルp(=pt−k,pt−k+1,・・・,pk)のうち、1番目のベクトルpを選択する。In step S51, the coordinate
ステップS52において、座標系変換部12は、現時点で選択(図10のステップS33またはS37で選択)されているクラスcに設定されている参照点が、トラジェクタおよびランドマークのどちらであるかを判定する。
In step S52, the coordinate
ステップS52において、座標系変換部12が、クラスcに設定されている参照点はトラジェクタであると判定した場合、処理はステップS53に進む。
If the coordinate
ステップS53において、座標系変換部12は、上述した式(7)を用いて、ベクトルpを、トラジェクタの初期位置を原点とした座標系のベクトルp’に変換し、処理はステップS57に進む。
In step S53, the coordinate
一方、ステップS52において、座標系変換部12が、クラスcに設定されている参照点はランドマークであると判定した場合、処理はステップS54に進む。
On the other hand, if the coordinate
ステップS54において、座標系変換部12は、上述した式(8)を用いて、ベクトルpを、ランドマークを原点とした座標系のベクトルp’に変換する。
In step S54, the coordinate
ステップS55において、座標系変換部12は、ステップS54で変換したベクトルp’のy軸が重力方向を向いているか否かを判定する。
In step S55, the coordinate
ステップS55において、座標系変換部12が、ステップS54で変換したベクトルp’のy軸が重力方向を向いていると判定した場合、処理はステップS56に進む。
If the coordinate
ステップS56において、座標系変換部12は、y軸を重力方向に対して逆側に向かうように反転(上述の式(9)参照)する。
In step S56, the coordinate
ステップS56の処理後、または、ステップS55でベクトルp’のy軸が重力方向を向いていないと判定された場合、処理はステップS57に進む。 After the process of step S56, or when it is determined in step S55 that the y-axis of the vector p'is not oriented in the direction of gravity, the process proceeds to step S57.
ステップS57において、座標系変換部12は、座標系変換処理の対象となっている単位系列xn,jを表す全てのベクトルpを、ベクトルp’に変換したか否かを判定する。In step S57, the coordinate
ステップS57において、座標系変換部12が、全てのベクトルpをベクトルp’に変換していないと判定した場合、処理はステップS58に進む。
If the coordinate
ステップS58において、座標系変換部12は、次のベクトルpを選択した後、処理はステップS52に戻り、以下、同様の処理が繰り返して行われる。
In step S58, the coordinate
一方、ステップS57において、座標系変換部12が、全てのベクトルpをベクトルp’に変換したと判定した場合、座標系変換処理は終了される。
On the other hand, in step S57, when the coordinate
以上のように、情報処理装置11では、BGS処理、FFBS処理、および座標系変換処理を行うことにより、トラジェクタがランドマークに対して関係性を有して移動するクラスと、トラジェクタがランドマークに対して無関係にする移動するクラスとを正確に分類することができる。
As described above, in the
なお、上述したBGS処理のアルゴリズムの一例は、図12に示すように表記することができ、上述したFFBS処理および座標系変換処理のアルゴリズムの一例は、図13に示すように表記することができる。 An example of the above-mentioned BGS processing algorithm can be described as shown in FIG. 12, and an example of the above-mentioned FFBS processing and coordinate system conversion processing algorithm can be described as shown in FIG. ..
<シミュレーションによる分節化> <Simulation segmentation>
図14には、情報処理装置11による分節化および分類の有効性を確認するため、物体操作タスクの分節化についてシミュレーションによる評価を行った結果が示されている。
FIG. 14 shows the result of evaluating the segmentation of the object operation task by simulation in order to confirm the effectiveness of the segmentation and classification by the
図14に示すように、例えば、コンピュータ上で、ランドマークの位置を固定するとともに、トラジェクタの位置がユーザにより操作可能となるようにシミュレーション条件を設定して、ランドマークおよびトラジェクタをディスプレイに表示させ、操作入力手段によりトラジェクタの操作させるシミュレーションを行った。また、トラジェクタの初期位置は、シミュレーションを行うたびにランダムに変更させる。 As shown in FIG. 14, for example, on a computer, the position of the landmark is fixed, the simulation condition is set so that the position of the projector can be operated by the user, and the landmark and the projector are displayed on the display. , A simulation was performed in which the projector was operated by the operation input means. In addition, the initial position of the projector is randomly changed each time the simulation is performed.
このようなシミュレーションにおいて、トラジェクタの位置を回転させる操作、トラジェクタをランドマークに近づける操作、トラジェクタをランドマークから遠ざける操作、および、トラジェクタをランドマークに乗せる操作という4つの操作をランダムに5回行った。また、それぞれの操作を行う際に、トラジェクタおよびランドマークの画像座標を取得し、1つの連続操作とした。そして、このような4つの操作をランダムに5回行うことを7回繰り返して、合計として7つの連続操作データを取得した。 In such a simulation, four operations were randomly performed five times: the operation of rotating the position of the projector, the operation of moving the projector closer to the landmark, the operation of moving the projector away from the landmark, and the operation of placing the projector on the landmark. .. In addition, when performing each operation, the image coordinates of the projector and the landmark were acquired, and one continuous operation was performed. Then, these four operations were randomly performed five times, and the process was repeated seven times to obtain a total of seven continuous operation data.
そして、取得した連続操作データを、情報処理装置11により4つのクラスへ分節化および分類を行わせた。また、クラス数および各クラスの座標系は予め設定してシミュレーションを行い、4つのクラスのうち、1つのクラスにトラジェクタ座標系(TCS)を設定し、他の3つのクラスにランドマーク座標系(LCS)を設定した。
Then, the acquired continuous operation data was segmented and classified into four classes by the
図14に示すように、トラジェクタをランドマークに乗せる操作は、クラス1に分類され、トラジェクタをランドマークに近づける操作は、クラス2に分類され、トラジェクタをランドマークから遠ざける操作は、クラス3に分類された。これらの操作は、ランドマークに対して行う操作であり、正しくランドマーク座標系(LCS)のクラスへと分類された結果が得られた。
As shown in FIG. 14, the operation of placing the projector on the landmark is classified into
また、トラジェクタの位置を回転させる操作は、クラス4に分類された。この操作は、ランドマークとは無関係に行われる操作であり、正しくトラジェクタ座標系(TCS)のクラスへと分類された結果が得られた。
Further, the operation of rotating the position of the projector was classified into
<ロボットの動作の分節化> <Segmentation of robot movement>
図15乃至図17を参照して、ロボットによる物体把持動作の分節化および分類について説明する。 The segmentation and classification of the object grasping motion by the robot will be described with reference to FIGS. 15 to 17.
図15に示すように、ロボットが前進する動作、ロボットが後進する動作、および、ロボットのグリッパー(トラジェクタ)により物体(ランドマーク)を把持する動作という3つの動作を行うように操作を行った。例えば、これらの3つの動作をランダムに5回行って1つの連続動作とし、このような3つの動作をランダムに5回行うことを5回繰り返して、合計として5つの連続動作データを取得した。 As shown in FIG. 15, the operation was performed so as to perform three operations: an operation in which the robot moves forward, an operation in which the robot moves backward, and an operation in which the gripper (trajector) of the robot grips an object (landmark). For example, these three operations were randomly performed five times to form one continuous operation, and these three operations were randomly performed five times five times to obtain five continuous operation data in total.
これにより、図16に示すように、ロボットの手先の三次元座標と、物体を把持するグリッパーの開閉の情報とが観測値として取得され、これらの合計4次元の特徴量を用いてロボットの動作を分節化することができる。 As a result, as shown in FIG. 16, the three-dimensional coordinates of the robot's hand and the information on the opening and closing of the gripper that grips the object are acquired as observed values, and the robot's operation is performed using these total four-dimensional features. Can be segmented.
例えば、このような観測値を時系列データとして、情報処理装置11により4つのクラスへ分節化および分類を行わせた。また、クラス数および各クラスの座標系は予め設定され、4つのクラスのうち、2つのクラスにトラジェクタ座標系(TCS)を設定し、他の2つのクラスにランドマーク座標系(LCS)を設定した。
For example, such observed values are used as time-series data, and the
これにより、図16に示すようなクラス1〜クラス4として、ロボットの動作を分節化した分節化結果が取得された。
As a result, the segmentation results obtained by segmenting the robot movements were obtained as
図16において、x座標がロボットの前後の動きであり、ロボットが前進する動作がクラス4に分類され、ロボットが後進する動作がクラス3に分類された。これらの動作は、物体とは無関係に行われる動作であり、正しくトラジェクタ座標系(TCS)のクラスへと分類された結果が得られた。
In FIG. 16, the x-coordinate is the movement of the robot back and forth, the movement of the robot moving forward is classified into
また、図16において、z座標とグリッパーは、グリッパーの高さと開閉(1:開,0:閉)であり、アームを下げ物体に接近しグリッパーを閉じる動作がクラス1に分類され、グリッパーで物体を掴み持ち上げる動作がクラス2に分類された。これらの動作は、物体と関連した動作であり、正しくランドマーク座標系(LCS)のクラスへと分類された結果が得られた。
Further, in FIG. 16, the z coordinate and the gripper are the height and opening / closing (1: open, 0: closed) of the gripper, and the action of lowering the arm to approach the object and closing the gripper is classified into
なお、ガウス過程には、学習した連続的な軌道を容易に生成できる点が利点としてある。例えば、情報処理装置11をロボットの動きを学習する学習装置として利用することで、ロボットの動作を学習結果として取得することができる。例えば、図16に示したようなロボットの動作を分節化した分節化結果を学習して、クラス4、クラス1、およびクラス2を結合して軌道を生成すると、図17に示すように、学習に基づいて生成したロボットの動作を取得することができる。
The Gaussian process has the advantage that a learned continuous orbit can be easily generated. For example, by using the
即ち、図17に示す時間T1〜T2において、クラス4に基づいて、ロボットが前進する動作が生成され、時間T2〜T4において、クラス1に基づいて、アームを下げ物体に接近しグリッパーを閉じる動作が生成され、時間T4〜T5において、クラス2に基づいて、グリッパーで物体を掴み持ち上げる動作が生成された。このように図17に示すような生成された動作と、図16に示すような観測値と比較すると、前進、物体把持、物体を持ち上げるといった軌道を正しく生成できている。そして、この軌道をロボットによって再生させると、図15に示したような動作が正しく行われる。
That is, at times T1 to T2 shown in FIG. 17, an action of moving the robot forward is generated based on the
以上のように、情報処理装置11は、ガウス過程を出力分布とした隠れセミマルコフモデルによって、参照点に従ってトラジェクタ座標系またはランドマーク座標系に変換し、全体の動作を単位動作に分節化する。これにより、ランドマークに対して行われる動作を正確に分節化することができる。即ち、ランドマークに対して行われる動作は、ランドマークを参照点とした動作として分類され、ランドマークとは無関係の動作はトラジェクタを参照点とした動作として分類されている。
As described above, the
なお、上述した実施の形態では、予め幾つのクラスに分けるかを指定し、それぞれのクラスに対して参照点が設定された処理について説明した。これに対し、例えば、ノンパラメトリックベイズを導入することで、クラス数を推定し、それぞれのクラスの参照点も自動的に推定することも可能である。 In the above-described embodiment, the number of classes to be divided into classes is specified in advance, and the process in which reference points are set for each class has been described. On the other hand, for example, by introducing nonparametric Bayes, it is possible to estimate the number of classes and automatically estimate the reference points of each class.
<クラス数の推定>
そこで、クラス数の推定も行って、それぞれのクラスの参照点を自動的に推定する手法について説明する。<Estimation of the number of classes>
Therefore, a method of automatically estimating the reference points of each class by estimating the number of classes will be described.
例えば、ノンパラメトリックベイズでは、無限個のクラスがあることを想定してクラスタリングを行うことができる。実際には、学習データは有限であり、そのうちの有限個のクラスのみを学習データの生成過程を表現するのに利用することで、クラス数の推定を可能としている。具体的には、GP-HSMM(Gaussian Process - Hidden Semi Markov Model)に対してHPD(Hierarchical Dirichlet Process)を導入することによって、ノンパラメトリックベイズモデルへと拡張したHDP-GP-HSMMを利用する手法を採用することができる。 For example, in nonparametric Bayes, clustering can be performed assuming that there are an infinite number of classes. In reality, the learning data is finite, and the number of classes can be estimated by using only a finite number of classes to express the learning data generation process. Specifically, by introducing HPD (Hierarchical Dirichlet Process) to GP-HSMM (Gaussian Process --Hidden Semi Markov Model), a method using HDP-GP-HSMM extended to a nonparametric Bayes model is used. Can be adopted.
なお、教師無しで動作を分節化する手法としては、様々な手法が既に提案されているが、ここでは、離散化せずに動作を表現可能なGP(Gaussian Process)を用いて、より複雑な動作を表現するのに適した手法を採用する。 Various methods have already been proposed as methods for segmenting movements without a teacher, but here, GP (Gaussian Process), which can express movements without discretization, is used to make it more complicated. Adopt a method suitable for expressing the movement.
まず、ノンパラメトリックベイズモデルについて説明する。 First, a nonparametric Bayesian model will be described.
例えば、パラメトリックな混合モデルではクラス数は有限であり、有限次元のディリクレ分布から多項分布のパラメータが生成され、この多項分布から隠れ状態が決定される。一方、ノンパラメトリックベイズでは、無限個のクラスを仮定するため、無限次元の多項分布を生成する必要がある。例えば、その構成法の1つであるSPB(Stick Breaking Process)では、長さ1の棒をベータ分布からサンプリングされる値で折り続けることによって、無限次元の多項分布が構成される。
For example, in a parametric mixture model, the number of classes is finite, the parameters of the multinomial distribution are generated from the finite-dimensional Dirichlet distribution, and the hidden state is determined from this multinomial distribution. On the other hand, in nonparametric Bayes, it is necessary to generate an infinite dimensional multinomial distribution because it assumes an infinite number of classes. For example, in SPB (Stick Breaking Process), which is one of the construction methods, an infinite dimensional multinomial distribution is constructed by continuously folding a bar of
即ち、SPBでは、次の式(14)および式(15)に示すように、無限次元の多項分布のパラメータβを構成することができる。このプロセスは、一般的に、β〜GEM(γ)と表記される。 That is, in SPB, as shown in the following equations (14) and (15), the parameter β of the infinite dimensional multinomial distribution can be constructed. This process is commonly referred to as β-GEM (γ).
このようなディリクレ過程を用いることで、無限の状態数をもったHMMの遷移確率を構成することができる。しかしながら、単にSBPによって各状態の遷移確率を構成するだけでは、状態ごとに可能な遷移先が異なることになる。即ち、HMMのようなモデルの場合には、全ての状態において可能な遷移先が共有されており、その遷移確率が状態ごとに異なる分布を構成しなければならない。 By using such a Dirichlet process, it is possible to construct a transition probability of an HMM having an infinite number of states. However, simply configuring the transition probability of each state by SBP will result in different possible transition destinations for each state. That is, in the case of a model such as HMM, possible transition destinations are shared in all states, and the transition probability must form a distribution different for each state.
そのため、SBPによって生成した分布を基底測度として共有し、状態cごとに異なる遷移確率πcを、次の式(16)に示すようにDPによって生成する。このように、二段階のDPによって無限次元の確率分布を構成する手法は、HPDと称されている。Therefore, the distribution generated by SBP is shared as a base measure, and the transition probability π c, which differs for each state c, is generated by DP as shown in the following equation (16). In this way, the method of constructing an infinite dimensional probability distribution by two-step DP is called HPD.
そこで、図2を参照して説明したようなグラフィカルモデルを、図18に示すように、クラス数の推定を行うことができるように変更する手法が提案される。 Therefore, as shown in FIG. 18, a method of changing the graphical model as described with reference to FIG. 2 so that the number of classes can be estimated is proposed.
図18には、無限個のクラス数を想定して、観測系列Sを単位系列xjごとに分節化する手法のグラフィカルモデルが示されている。このグラフィカルモデルでは、データは有限個であり、無限のクラスのうち有限個のクラスのみを、データを表現するのに利用する結果、クラス数が推定される。このとき、図19に示すように、クラスのインデックスが大きいものは、クラスの発生確率が小さくなるように調整を行い、クラス数が多くなり過ぎないようなペナルティが設定(P(c’|c)=πc)される。これにより、クラスの個数が有限個に収束する結果、最終的な個数を推定することができる。FIG. 18 shows a graphical model of a method of segmenting the observation sequence S for each unit sequence x j , assuming an infinite number of classes. In this graphical model, the data is finite, and the number of classes is estimated as a result of using only a finite number of infinite classes to represent the data. At this time, as shown in FIG. 19, if the index of the class is large, the class is adjusted so that the probability of occurrence of the class is small, and a penalty is set so that the number of classes does not become too large (P (c'| c). ) = Π c ). As a result, the number of classes converges to a finite number, and as a result, the final number can be estimated.
即ち、図18に示すグラフィカルモデルおいて、単位系列のクラスcj(j=1,2,・・・,J)は、無限個のクラス数を仮定しており、遷移確率πcは、クラスcから各クラスへと遷移する確率を表している。具体的には、遷移確率πcは、次の式(17)に示すように、γをパラメータとするGEM分布(Stick Breaking Process)によって生成されたβと、次の式(18)に示すように、αをパラメータとするDP(Dirichlet Process)から生成される。That is, in the graphical model shown in FIG. 18, the unit series class c j (j = 1, 2, ..., J) assumes an infinite number of classes, and the transition probability π c is a class. It represents the probability of transition from c to each class. Specifically, the transition probability π c is shown in β generated by the GEM distribution (Stick Breaking Process) with γ as a parameter and in the following equation (18), as shown in the following equation (17). In addition, it is generated from DP (Dirichlet Process) with α as a parameter.
また、j番目のクラスcjは、j−1番目のクラスクラスcj−1と、遷移確率πcとによって決定される。ここでは、クラスと対応したパラメータXcを用いたガウス過程から、次の式(19)および式(20)に示すように、単位系列xjが生成されることを仮定している。Further, the j-th class c j is determined by the j-1st class class c j-1 and the transition probability π c. Here, it is assumed that the unit series x j is generated from the Gaussian process using the parameter X c corresponding to the class, as shown in the following equations (19) and (20).
ただし、パラメータXcはクラスcに分類された単位系列の集合である。そして、これらの単位系列を結合することで、観測系列S(=x0,x0,・・・,xJ)を求めることができる。However, the parameter X c is a set of unit series classified into the class c. Then, by combining these unit series, the observation series S (= x 0 , x 0 , ..., X J ) can be obtained.
ところで、単位系列のタイムステップiにおける出力値xiをガウス過程回帰で学習することによって、連続的な軌道として表現される。従って、ガウス過程では、同一クラスに属する単位系列のタイムステップiにおける出力xの組(i,x)が得られたとき、タイムステップinewにおける出力xnewの予測分布は、次の式(21)に示すようなガウス分布となる。However, by learning with Gaussian process regression output values x i in the time step i of the unit sequence is represented as a continuous track. Therefore, the Gaussian process, when the set of output x in the time step i of the unit series belonging to the same class (i, x) is obtained, predictive distribution of output x new at time step i new new, the following formula (21 ), The Gaussian distribution is obtained.
ただし、式(21)において、行列Cは、カーネル関数k(・,・)を用いて、次の式(22)に示すような要素k(ip,iq)を持つ行列であり、βは、観測値に含まれるノイズの精度を表すハイパーパラメータである。However, in the formula (21), the matrix C, using a kernel function k (·, ·) is a matrix with elements k (i p, i q) as shown in the following equation (22), beta Is a hyperparameter that represents the accuracy of the noise contained in the observed value.
また、式(21)において、ベクトルkは、k(ip,inew)を要素に持ち、クラスcは、k(inew,inew)である。Further, in the equation (21), the vector k will have k a (i p, i new new) element, the class c is a k (i new, i new) .
そして、ガウス過程では、カーネルを用いることで複雑に変化する系列データであっても学習することができる。ここでは、ガウス過程回帰に広く使われている次の式(23)に示すようなガウスカーネルを用いる。ただし、式(23)において、θ*は、カーネルのパラメータである。Then, in the Gaussian process, even series data that changes in a complicated manner can be learned by using the kernel. Here, a Gaussian kernel as shown in the following equation (23), which is widely used for Gaussian process regression, is used. However, in equation (23), θ * is a kernel parameter.
さらに、出力値xiが多次元ベクトルの場合は、各次元が独立に生成されると仮定し、時刻iの観測値x(=x0,x1,・・・)が、クラスcに対応するガウス過程から生成される確率GP(x|Xc)は、次の式(24)を演算することで求められる。Furthermore, when the output value x i is a multidimensional vector, it is assumed that each dimension is generated independently, and the observed value x (= x 0 , x 1 , ...) At time i corresponds to the class c. The probability GP (x | X c ) generated from the Gaussian process is obtained by calculating the following equation (24).
このようにして求められる確率GP(x|Xc)を用いることで、類似する単位系列を、同一のクラスに分類することができる。By using the probability GP (x | Xc ) obtained in this way, similar unit series can be classified into the same class.
次に、このような確率GPを、図7の情報処理装置11に適用して、観測系列内の単位系列とそのクラスを動的計画法によりサンプリングして推定する手法について説明する。
Next, a method of applying such a probability GP to the
例えば、情報処理装置11では、BGS実行部13が、動的計画法を効率的に計算するために、1つの観測系列内の単位系列とそのクラスをまとめてサンプリングすることができる。
For example, in the
まず、BGS実行部13は、全ての観測系列をランダムに分節化し、分類することで初期化する。次に、ある観測系列Snを分節化して得られた全ての単位系列xnj(j=1,2,・・・,Jn)を、それらが分類されているクラスからすべて削除し、各クラスのガウス過程のパラメータXcと遷移確率P(c|c’)を更新する。First, the
次に、FFBS実行部14が、新たな単位系列xnj(j=1,2,・・・,Jn)と、それらのクラスcnj(j=1,2,・・・,Jn)とを推定し、各クラスと対応したガウス過程のパラメータXcおよび遷移確率P(c|c’)を更新する。そして、以上の操作を全ての系列に対して繰り返すことで、BGS実行部13およびFFBS実行部14は、観測系列の分節点とガウス過程のパラメータを交互に最適化することができる。Next, the
次に、FFBS実行部14が、単位系列とそのクラスの両方を隠れ変数とみなしてFFBSにより同時にサンプリングする処理について説明する。
Next, a process in which the
まず、FFBS実行部14のフォワードフィルタリング部15は、ある観測系列sのタイムステップtを終端とするkサンプルst−k:kが単位系列であり、そのクラスがcである確率α[t][k][c]を、次の式(25)を演算することにより求めることができる。First, in the
ただし、式(25)において、Cはクラス数であり、Kは単位系列の最大の長さである。また、P(c|c’,β,α)は、クラスcの遷移確率を表しており、次の式(26)で求められる。 However, in equation (25), C is the number of classes and K is the maximum length of the unit series. Further, P (c | c', β, α) represents the transition probability of the class c, and is obtained by the following equation (26).
ただし、式(26)において、N(c’)は、クラスc’となった単位系列の数を表し、N(c’,c)は、クラスc’からクラスcに遷移した回数を表しており、BGS実行部13から供給されるパラメータN(cn,j)およびN(cn,j,cn,j+1)がそれぞれ用いられる。また、k’は、単位系列xt−k:kの前の単位系列の長さを表し、c’は、その単位系列のクラスを表しており、式(25)では、全ての長さkおよびクラスcにおいて周辺化されている。However, in the equation (26), N (c') represents the number of unit series in the class c', and N (c', c) represents the number of transitions from the class c'to the class c. Therefore, the parameters N (cn , j ) and N (cn , j , cn , j + 1 ) supplied from the
なお、t−k<0となる場合、確率α[t][k][*]=0であり、確率α[0][0][*]=1.0である。そして、式(25)は、漸化式になっており、確率α[1][1][*]から計算をすることで、全てのパターンを動的計画法により計算することができる。 When t−k <0, the probability α [t] [k] [*] = 0 and the probability α [0] [0] [*] = 1.0. The equation (25) is a recurrence formula, and all patterns can be calculated by dynamic programming by calculating from the probabilities α [1] [1] [*].
そして、FFBS実行部14のバックワードサンプリング部16は、フォワードフィルタリング部15から供給される前向き確率α[t][k][c]に従い、後ろ向きに単位系列の長さおよびクラスをサンプリングする。これにより、バックワードサンプリング部16は、観測系列Sを分節化した単位系列xjの長さkと、それぞれの単位系列xjのクラスcとを決定することができる。Then, the
例えば、図20には、BGS実行部13により実行されるクラス数の推定を行うことが可能なBGS処理のアルゴリズムの一例が示されている。ただし、図20に示すアルゴリズムにおいて、NcnjおよびNcnj,cn,j+1は、上述した式(26)に示す遷移確率pを計算するためのパラメータである。また、図21には、FFBS実行部14により実行されるクラス数の推定を行うことが可能なFFBS処理のアルゴリズムの一例が示されている。For example, FIG. 20 shows an example of a BGS processing algorithm capable of estimating the number of classes executed by the
このような情報処理装置11による分節化および分類の有効性を確認するため、実際に動作を計測した結果として得られる観測値を分節化する実験を行った。
In order to confirm the effectiveness of segmentation and classification by the
図22には、例えば、人間が右手のみを動かしたときの動作を計測して、その観測値(右手のx座標およびy座標)を分節化した一例が示されている。実験では、右手を小さく挙げる動作、右手を高く挙げる動作、右手を横に伸ばす動作という3つの動作がランダムに行われ、図示するような時系列データが取得された。この時系列データに対して、上述したようなHDP-GP-HSMMにより分節および分類を行った結果、クラス数は4と推定された。図22では、それらの分類されたクラスが、それぞれ異なるハッチングにより表されている。 FIG. 22 shows an example in which, for example, the movement when a human moves only the right hand is measured, and the observed values (x-coordinate and y-coordinate of the right hand) are segmented. In the experiment, three actions of raising the right hand small, raising the right hand high, and extending the right hand sideways were randomly performed, and time-series data as shown in the figure was acquired. As a result of segmenting and classifying this time series data by HDP-GP-HSMM as described above, the number of classes was estimated to be 4. In FIG. 22, the classified classes are represented by different hatching.
実験では、3つの動作を行ったことより、正解のクラス数は3であるが、動作開始前の何も動作していない状態が1つのクラスとして分節された結果、クラス数は4と推定されている。そして、図示するように、クラス2には、手を小さく挙げる動作が分類され、クラス3には手を高く挙げる動作が分類され、クラス4には手を横に伸ばす動作が分類されるという結果が正しく求められた。
In the experiment, the number of correct classes is 3 because 3 actions were performed, but the number of classes is estimated to be 4 as a result of segmenting the state in which nothing is working before the start of the action as one class. ing. Then, as shown in the figure, the result is that the action of raising the hand small is classified into the
以上のように、ガウス過程を出力分布とした隠れセミマルコフモデルにディリクレ過程を導入することで、動作のクラス数を推定しつつ動作を分節および分類することができる。このような手法により、動作の切れ目と、動作のクラスとをFFBS処理により同時に推定し、クラス数をノンパラメトリックベイズモデルにより推定することで動作を正しく分節化することができた。 As described above, by introducing the Dirichlet process into the hidden semi-Markov model with the Gaussian process as the output distribution, it is possible to segment and classify the motion while estimating the number of motion classes. By such a method, the motion break and the motion class are estimated at the same time by FFBS processing, and the number of classes is estimated by the nonparametric Bayesian model, so that the motion can be segmented correctly.
<物体姿勢の導入>
上述したように、情報処理装置11では、軌道を、参照点を基準とした座標へと適切に座標変換してFFBS処理を行うことで、同じ動作を同じ軌道で表現することができる。<Introduction of object posture>
As described above, in the
即ち、図23のAおよび図23のBに示すように、ロボットのグリッパー(トラジェクタ)に参照点を設定した場合、把持対象となる物体(ランドマーク)の位置が異なると、それぞれの物体をロボットのグリッパーが把持するという動作は、異なる軌道で表現されてしまう。その結果、ロボットのグリッパーが物体を把持するという同じ動作が、異なる動作と認識されることになる。 That is, as shown in A of FIG. 23 and B of FIG. 23, when a reference point is set in the gripper (trajector) of the robot, if the positions of the objects (landmarks) to be gripped are different, the robots use each object. The action of gripping by the gripper is expressed in a different trajectory. As a result, the same motion of the robot gripper gripping the object is recognized as a different motion.
これに対し、図23のCおよび図23のDに示すように、把持対象となる物体に参照点を設定した場合、物体の位置が異なっていても、それぞれの物体をロボットのグリッパーによって把持するという動作を、同じ軌道で表現することができる。即ち、ロボットのグリッパーによって物体を把持する動作について、適切に、把持対象となる物体に参照点を設定することで、その動作の軌道を、同じ動作として認識することができる。 On the other hand, as shown in C of FIG. 23 and D of FIG. 23, when a reference point is set for the object to be gripped, each object is gripped by the gripper of the robot even if the positions of the objects are different. Can be expressed in the same orbit. That is, regarding the operation of gripping an object by the gripper of the robot, the trajectory of the operation can be recognized as the same operation by appropriately setting a reference point on the object to be gripped.
そして、このように参照点を物体に設定する際に、物体の姿勢に従って適切に座標系を設定してFFBS処理を行うことによって、物体の姿勢を考慮して動作を分節化することが可能となる。 Then, when setting the reference point to the object in this way, it is possible to segment the movement in consideration of the posture of the object by appropriately setting the coordinate system according to the posture of the object and performing the FFBS processing. Become.
例えば、図24のAに示すように、物体の長手方向が垂直方向である場合に、ロボットのグリッパーで物体を把持する動作を行うとき、ロボットのグリッパーは、水平方向から物体に向かうような軌道となる。一方、図24のBに示すように、物体の長手方向が水平方向である場合に、ロボットのグリッパーで物体を把持する動作を行うとき、ロボットのグリッパーは、垂直方向から物体に向かうような軌道となる。 For example, as shown in A of FIG. 24, when the longitudinal direction of the object is the vertical direction and the robot grips the object by the gripper of the robot, the gripper of the robot moves in a trajectory from the horizontal direction toward the object. It becomes. On the other hand, as shown in B of FIG. 24, when the longitudinal direction of the object is the horizontal direction, when the robot gripper grips the object, the robot gripper has a trajectory that goes from the vertical direction to the object. It becomes.
このとき、物体の姿勢(長手方向が垂直方向または水平方向)に従って適切に座標系を設定することで、それぞれの姿勢の物体を把持するロボットのグリッパーの軌道を、物体の姿勢を考慮して推定することができる。つまり、長手方向がz軸となり、物体からグリッパーに向かう方向がx軸となるような座標系を設定することで、図24のAの例では、ロボットのグリッパーが水平方向から物体に向かうような動作となる。そして、同様な座標系を設定することで、図24のBの例でも同様の軌道で動作を表現することができる。即ち、物体の姿勢を、動作を推定する際の要素とすることで、姿勢の異なる物体に対して所定の動作(上述したような物体を把持する動作)が行われたとき、それぞれの物体に対する動作を同一の動作として分類することができる。 At this time, by appropriately setting the coordinate system according to the posture of the object (the longitudinal direction is the vertical direction or the horizontal direction), the trajectory of the gripper of the robot that grips the object in each posture is estimated in consideration of the posture of the object. can do. That is, by setting a coordinate system such that the longitudinal direction is the z-axis and the direction from the object to the gripper is the x-axis, in the example of A in FIG. 24, the gripper of the robot is directed from the horizontal direction to the object. It becomes an operation. Then, by setting the same coordinate system, the operation can be expressed by the same trajectory in the example B of FIG. 24. That is, by using the posture of the object as an element for estimating the motion, when a predetermined motion (the motion of gripping the object as described above) is performed on the objects having different postures, the motion is relative to each object. Actions can be classified as the same action.
従って、図7の情報処理装置11は、把持対象となる物体が、どのような姿勢であっても、物体の姿勢に応じて座標系を設定することで、FFBS実行部14がFFBS処理を実行することにより、その物体の姿勢を考慮した動作を推定することができる。
Therefore, in the
一方、例えば、引き出しの取っ手などのように、物体ごとに姿勢が固定的である場合、それぞれの物体に固有の座標系が存在することになる。即ち、図24のCに示すように、物体の姿勢が、長手方向が水平方向に向いて固定的である場合や、図24のDに示すように、物体の姿勢が、長手方向が水平方向に向いて固定的である場合など、物体に固有の座標系が存在する。 On the other hand, when the posture is fixed for each object, such as the handle of a drawer, a coordinate system unique to each object exists. That is, as shown in C of FIG. 24, the posture of the object is fixed with the longitudinal direction facing the horizontal direction, and as shown in D of FIG. 24, the posture of the object is in the horizontal direction in the longitudinal direction. There is a coordinate system unique to the object, such as when it is fixed towards.
このような場合であっても、図7の情報処理装置11は、物体の固有の座標系を設定することで、FFBS実行部14がFFBS処理を実行することにより、それぞれの物体の姿勢を考慮した動作を推定することができる。
Even in such a case, the
<複数のランドマークへの対応>
環境中に複数の対象物が存在する場合、それぞれの対象物に参照点を設定してFFBS処理を行うことによって、どの対象物を対象とした動作であるのかを推定することが可能となる。<Correspondence to multiple landmarks>
When there are a plurality of objects in the environment, it is possible to estimate which object the operation is for by setting a reference point for each object and performing the FFBS process.
例えば、図25に示すように、把持対象の物体(ランドマーク1)と、その物体の移動先となるテーブル(ランドマーク2)とが対象物として存在する例について説明する。このように物体とテーブルとの2つのランドマークがあるとき、物体に参照点を設定した動作の推定と、テーブルに参照点を設定した動作の推定との両方を行う。そして、それぞれの参照点で座標変換した軌道および姿勢の確率(一貫性)を基準として、確率の高い方の参照点を設定したランドマークを選択することで、動作の対象とした対象物を推定することができる。 For example, as shown in FIG. 25, an example in which an object to be gripped (landmark 1) and a table (landmark 2) to which the object is moved exists as an object will be described. When there are two landmarks of an object and a table in this way, both the estimation of the operation in which the reference point is set in the object and the estimation of the operation in which the reference point is set in the table are performed. Then, based on the probability (consistency) of the trajectory and posture that have been coordinate-transformed at each reference point, the target object for movement is estimated by selecting the landmark that sets the reference point with the higher probability. can do.
例えば、図25のAに示すように、把持対象の物体に近づく動作が行われたとき、物体に参照点を設定して求められた確率は、テーブルに参照点を設定して求められた確率よりも高くなり、物体を対象とした動作であると推定することができる。また、図25のBに示すように、物体を把持する動作が行われたとき、物体に参照点を設定して求められた確率は、テーブルに参照点を設定して求められた確率よりも高くなり、物体を対象とした動作であると推定することができる。また、図25のCに示すように、物体をテーブルに置く動作が行われたとき、テーブルに参照点を設定して求められた確率は、物体に参照点を設定して求められた確率よりも高くなり、テーブルを対象とした動作であると推定することができる。 For example, as shown in A of FIG. 25, when an operation of approaching an object to be gripped is performed, the probability obtained by setting a reference point on the object is the probability obtained by setting a reference point on the table. It can be estimated that the movement is for an object. Further, as shown in B of FIG. 25, when the operation of gripping the object is performed, the probability obtained by setting the reference point on the object is higher than the probability obtained by setting the reference point on the table. It becomes high and can be estimated to be an action targeting an object. Further, as shown in C of FIG. 25, when the operation of placing the object on the table is performed, the probability obtained by setting the reference point on the table is higher than the probability obtained by setting the reference point on the object. Is also high, and it can be estimated that the operation is for a table.
従って、図7の情報処理装置11は、環境中に複数の対象物が存在する場合、FFBS実行部14が、それぞれの対象物に参照点を設定してFFBS処理を実行することにより、動作を推定するのと同時に、どの対象物が動作の対象であるかを推定することができる。
Therefore, when a plurality of objects exist in the environment, the
ここで、図26には、図24を参照して説明したような物体姿勢の導入、および、図25を参照して説明したような複数のランドマークへの対応の両方を実現することができるFFBS処理および座標系変換処理のアルゴリズムが示されている。 Here, in FIG. 26, both the introduction of the object posture as described with reference to FIG. 24 and the correspondence with a plurality of landmarks as described with reference to FIG. 25 can be realized. Algorithms for FFBS processing and coordinate system conversion processing are shown.
例えば、図26の9行目から12行目までの処理で、L個のランドマークに参照点を設定し、それぞれのランドマークについてR個の姿勢を設定して、それぞれのランドマークlおよび姿勢rを候補とし、15行目の処理で、それぞれの確率αを計算している。そして、23行目の処理において、動作の対象となるランドマークと、そのランドマークの姿勢とが、サンプリングによって動作を推定するのと同時に推定される。 For example, in the processing from the 9th line to the 12th line in FIG. 26, reference points are set for L landmarks, R postures are set for each landmark, and each landmark l and posture are set. With r as a candidate, the respective probabilities α are calculated in the process of the 15th line. Then, in the process of the 23rd line, the landmark to be operated and the posture of the landmark are estimated at the same time as the motion is estimated by sampling.
即ち、図7の情報処理装置11では、座標系変換部12が、複数のランドマークに参照点を設定して座標変換を行い、FFBS実行部14が、それぞれのランドマークを順次候補(l=1〜L)として、それぞれのランドマークに複数の姿勢の候補(r=1〜R)を適用して、確率α[t][k][c][l][r]を求める。そして、FFBS実行部14は、その確率α[t][k][c][l][r]に従って、単位系列xjおよびクラスcを推定(特定)するのと同時に、動作の対象となっている所定のランドマークlを推定(特定)し、そのランドマークの姿勢rを推定(特定)することができる。That is, in the
もちろん、図26に示すFFBS処理において用いるクラスの個数は、上述の図20に示したBGS処理によって推定したものを用いることが可能である。即ち、情報処理装置11は、クラス数の推定を行って、動作を推定するのと同時に、複数の物体の中から動作の対象となる対象物を推定するとともに、その物体の姿勢を考慮した動作を推定することができる。
Of course, as the number of classes used in the FFBS processing shown in FIG. 26, those estimated by the BGS processing shown in FIG. 20 described above can be used. That is, the
また、上述した手法は、様々な教師なし学習へ適用することができる。 Moreover, the above-mentioned method can be applied to various unsupervised learning.
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。また、プログラムは、1のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。 It should be noted that each process described with reference to the above-mentioned flowchart does not necessarily have to be processed in chronological order in the order described as the flowchart, and is executed in parallel or individually (for example, parallel process or object). Processing by) is also included. Further, the program may be processed by one CPU or may be distributed by a plurality of CPUs.
また、上述した一連の処理(情報処理方法)は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。 Further, the series of processes (information processing method) described above can be executed by hardware or software. When a series of processes are executed by software, the programs that make up the software execute various functions by installing a computer embedded in dedicated hardware or various programs. It is installed from a program recording medium on which a program is recorded, for example, on a general-purpose personal computer.
図27は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。 FIG. 27 is a block diagram showing a configuration example of the hardware of a computer that executes the above-mentioned series of processes programmatically.
コンピュータにおいて、CPU(Central Processing Unit)101,ROM(Read Only Memory)102,RAM(Random Access Memory)103は、バス104により相互に接続されている。
In a computer, a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, and a RAM (Random Access Memory) 103 are connected to each other by a
バス104には、さらに、入出力インタフェース105が接続されている。入出力インタフェース105には、キーボード、マウス、マイクロホンなどよりなる入力部106、ディスプレイ、スピーカなどよりなる出力部107、ハードディスクや不揮発性のメモリなどよりなる記憶部108、ネットワークインタフェースなどよりなる通信部109、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111を駆動するドライブ110が接続されている。
An input /
以上のように構成されるコンピュータでは、CPU101が、例えば、記憶部108に記憶されているプログラムを、入出力インタフェース105及びバス104を介して、RAM103にロードして実行することにより、上述した一連の処理が行われる。
In the computer configured as described above, the
コンピュータ(CPU101)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア111に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
The program executed by the computer (CPU101) is, for example, a magnetic disk (including a flexible disk), an optical disk (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc.), an optical magnetic disk, or a semiconductor. It is recorded on
そして、プログラムは、リムーバブルメディア111をドライブ110に装着することにより、入出力インタフェース105を介して、記憶部108にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部109で受信し、記憶部108にインストールすることができる。その他、プログラムは、ROM102や記憶部108に、あらかじめインストールしておくことができる。
Then, the program can be installed in the
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。 The present embodiment is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present disclosure.
11 情報処理装置
12 座標系変換部
13 BGS実行部
14 FFBS実行部
15 フォワードフィルタリング部
16 バックワードサンプリング部11
Claims (9)
前記座標系変換部により前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定する特定部と、
前記特定部が前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整するパラメータ調整部と
を備える情報処理装置。A coordinate system conversion unit that converts the coordinate system of the series data to the first coordinate system or the second coordinate system,
Specifying a plurality of unit series data obtained by segmenting the series data converted into the first coordinate system or the second coordinate system by the coordinate system conversion unit, and a class for classifying the unit series data. Department and
An information processing device including a parameter adjusting unit for adjusting parameters used when the specific unit specifies the unit series data and the class.
第1の物体が第2の物体に対して関係性を有して移動していることを示すクラスに分類される前記単位系列データと、
第1の物体が第2の物体に対して無関係に移動していることを示すクラスに分類される前記単位系列データと
に分節化することができ、
前記座標系変換部は、前記系列データの座標系を前記第1の物体の初期位置を原点とした前記第1の座標系への変換と、前記系列データの座標系を前記第2の物体の位置を原点とした前記第2の座標系への変換との少なくともいずれか一方を行う
請求項1に記載の情報処理装置。The series data is
The unit series data classified into a class indicating that the first object is moving in relation to the second object, and the unit series data.
It can be segmented into the unit series data classified into a class indicating that the first object is moving independently of the second object.
The coordinate system conversion unit converts the coordinate system of the series data into the first coordinate system with the initial position of the first object as the origin, and the coordinate system of the series data of the second object. The information processing apparatus according to claim 1, wherein at least one of the conversion to the second coordinate system with the position as the origin is performed.
請求項1または2に記載の情報処理装置。The specific unit uses a method of simultaneously sampling both the length of the unit series data when segmenting the series data and each class of the unit series data as hidden variables. The information processing apparatus according to claim 1 or 2, which specifies the class.
請求項1乃至3のいずれか1項に記載の情報処理装置。The parameter adjusting unit alternately optimizes the unit series data and the parameter by repeating the adjustment of the parameter each time the unit series data is specified by the specific unit. The information processing apparatus according to any one of 3.
請求項1乃至4のいずれか1項に記載の情報処理装置。The parameter adjusting unit assumes that the number of the classes is infinite, and each time the specific unit specifies the unit series data and the class, the larger the index of the class, the smaller the occurrence probability of the class. The information processing apparatus according to any one of claims 1 to 4, wherein the number of classes is estimated by repeating the process until the number of classes converges to a finite number.
前記特定部は、前記第2の座標系の姿勢について、複数の姿勢の候補を適用し、それぞれの姿勢における前記単位系列データおよび前記クラスを特定する処理を行うことで、前記第2の物体の姿勢を要素として前記単位系列データおよび前記クラスを特定する
請求項2乃至5のいずれか1項に記載の情報処理装置。The coordinate system conversion unit targets the coordinate system of the series data with the first coordinate system in which a reference point is set for the first object that is the main body that performs the operation, and the operation by the first object. Converted to the second coordinate system in which the reference point is set for the second object,
The specific unit applies a plurality of posture candidates to the posture of the second coordinate system, and performs a process of specifying the unit series data and the class in each posture of the second object. The information processing apparatus according to any one of claims 2 to 5, which specifies the unit series data and the class with the posture as an element.
前記特定部は、前記複数の第2の物体を候補として、それぞれを第2の物体として前記単位系列データおよび前記クラスを特定する処理を行うことで、前記単位系列データおよび前記クラスを特定するのと同時に、前記複数の第2の物体の中から、前記第1の物体が動作を行った対象となっている所定の前記第2の物体を特定する
請求項2乃至5のいずれか1項に記載の情報処理装置。The coordinate system conversion unit targets the coordinate system of the series data with the first coordinate system in which a reference point is set for the first object that is the main body that performs the operation, and the operation by the first object. Converted to the second coordinate system in which reference points are set for a plurality of second objects,
The specifying unit specifies the unit series data and the class by performing a process of specifying the unit series data and the class by using the plurality of second objects as candidates and using each as the second object. At the same time, any one of claims 2 to 5 for specifying a predetermined second object to which the first object has performed an operation from the plurality of second objects. The information processing device described.
前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、
前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整する
ステップを含む情報処理方法。Convert the coordinate system of the series data to the first coordinate system or the second coordinate system,
A plurality of unit series data obtained by segmenting the series data converted into the first coordinate system or the second coordinate system, and a class for classifying the unit series data are specified.
An information processing method that includes a step of adjusting the unit series data and parameters used when identifying the class.
前記第1の座標系または前記第2の座標系に変換された前記系列データを分節化した複数の単位系列データ、および、前記単位系列データを分類するクラスを特定し、
前記単位系列データおよび前記クラスを特定するときに利用するパラメータを調整する
ステップを含む情報処理をコンピュータに実行させるプログラム。Convert the coordinate system of the series data to the first coordinate system or the second coordinate system,
A plurality of unit series data obtained by segmenting the series data converted into the first coordinate system or the second coordinate system, and a class for classifying the unit series data are specified.
A program that causes a computer to perform information processing that includes a step of adjusting the unit series data and parameters used when identifying the class.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016174085 | 2016-09-06 | ||
| JP2016174085 | 2016-09-06 | ||
| PCT/JP2017/032109 WO2018047863A1 (en) | 2016-09-06 | 2017-09-06 | Information processing device, information processing method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2018047863A1 JPWO2018047863A1 (en) | 2019-06-24 |
| JP6908286B2 true JP6908286B2 (en) | 2021-07-21 |
Family
ID=61561418
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018538442A Active JP6908286B2 (en) | 2016-09-06 | 2017-09-06 | Information processing equipment, information processing methods and programs |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP6908286B2 (en) |
| WO (1) | WO2018047863A1 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7472658B2 (en) * | 2020-06-02 | 2024-04-23 | 富士通株式会社 | Activity interval estimation model construction device, activity interval estimation model construction method, and activity interval estimation model construction program |
| EP4182116A1 (en) * | 2020-07-16 | 2023-05-24 | 3M Innovative Properties Company | Robotic repair control systems and methods |
| DE102020212658A1 (en) * | 2020-10-07 | 2022-04-07 | Robert Bosch Gesellschaft mit beschränkter Haftung | Apparatus and method for controlling a robotic device |
| JP7613487B2 (en) * | 2021-01-27 | 2025-01-15 | 富士通株式会社 | Behavioral sequence determination device, behavioral sequence determination method, and behavioral sequence determination program |
| WO2025046770A1 (en) * | 2023-08-30 | 2025-03-06 | 三菱電機株式会社 | Task segmentation device, remote operation system, task segmentation method, and program |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5141876B2 (en) * | 2007-09-12 | 2013-02-13 | 株式会社国際電気通信基礎技術研究所 | Orbit search device |
-
2017
- 2017-09-06 JP JP2018538442A patent/JP6908286B2/en active Active
- 2017-09-06 WO PCT/JP2017/032109 patent/WO2018047863A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2018047863A1 (en) | 2018-03-15 |
| JPWO2018047863A1 (en) | 2019-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6908286B2 (en) | Information processing equipment, information processing methods and programs | |
| Ajay et al. | Augmenting physical simulators with stochastic neural networks: Case study of planar pushing and bouncing | |
| Wang et al. | Hidden‐Markov‐models‐based dynamic hand gesture recognition | |
| US7783585B2 (en) | Data processing device, data processing method, and program | |
| US7725412B2 (en) | Identifying temporal sequences using a recurrent self organizing map | |
| JP6464447B2 (en) | Observation value prediction apparatus and observation value prediction method | |
| Mavroudi et al. | End-to-end fine-grained action segmentation and recognition using conditional random field models and discriminative sparse coding | |
| JP2023552284A (en) | Systems and methods for domain generalization across variations in medical images | |
| CN110458046A (en) | A human motion trajectory analysis method based on joint point extraction | |
| WO2021171768A1 (en) | Information processing device, information processing method, computer program, and observation device | |
| Cabrera et al. | Biomechanical-based approach to data augmentation for one-shot gesture recognition | |
| De Magistris et al. | Experimental force-torque dataset for robot learning of multi-shape insertion | |
| Alharbi et al. | A data preprocessing technique for gesture recognition based on extended-kalman-filter | |
| Eppner et al. | Physics-based selection of informative actions for interactive perception | |
| Aleotti et al. | Arm gesture recognition and humanoid imitation using functional principal component analysis | |
| Huang et al. | Implicit contact diffuser: Sequential contact reasoning with latent point cloud diffusion | |
| KR102540560B1 (en) | Hierarchical estimation method for hand poses using random decision forests, recording medium and device for performing the method | |
| Kicki et al. | Learning quasi-static 3D models of markerless deformable linear objects for bimanual robotic manipulation | |
| Sucar | Hidden Markov Models | |
| Chumkamon et al. | Facial expression recognition using constrained local models and Hidden Markov models with consciousness-based architecture | |
| Kulić et al. | Incremental learning of full body motion primitives | |
| JP6714058B2 (en) | Method, device and program for predicting motion | |
| Gutzeit | Hierarchical segmentation of human manipulation movements | |
| CN112530000A (en) | Method for reappearing motion of virtual arm under task constraint | |
| JP2018092273A (en) | Posture estimation method, posture estimation program, and posture estimation apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200714 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210615 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210624 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6908286 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |