A method of training, by way of a processor, a decision tree-based estimator for estimating a pose of an articulated object on the basis of a depth image, the method comprising: obtaining real object data from the depth image of the articulated object by means of a vision sensor, wherein the real object data includes labeled real object data with information on a plurality of joint locations included in the articulated object and unlabeled real object data; independently generating synthetic object data including labeled synthetic object data with information on a plurality of joint locations included in the articulated object using a model of the articulated object; determining an association of the synthetic object data with the real object data by comparing a first datapoint included in the synthetic object data to a second datapoint included in the real object data, wherein the first and second datapoints are included in a training dataset and are expressed by patches, sampled at random from training depth images, and a tuple (a, p, v) of viewpoint (a), an indication (p) of a joint closest to the datapoint and a vector set (v) including a plurality of vectors having directions from a reference point of a patch corresponding to a datapoint toward a plurality of joints included in the articulated object is assigned to the labeled real object data and to the labeled synthetic object data; and determining that the synthetic object data is associated with the real object data when joint locations indicated by the datapoints of the labeled synthetic object data and the labeled real object data match; selecting, at random, one of a first quality function (Q tss) and a second quality function (Q apv); recursively generating branch nodes to determine branching directions of data input into the estimator using the selected quality function, and transferring training data from generated current nodes to child nodes or leaf nodes; and thereby generating a decision tree using the nodes. obtaining real object data from the depth image of the articulated object by means of a vision sensor, wherein the real object data includes labeled real object data with information on a plurality of joint locations included in the articulated object and unlabeled real object data; independently generating synthetic object data including labeled synthetic object data with information on a plurality of joint locations included in the articulated object using a model of the articulated object; determining an association of the synthetic object data with the real object data by comparing a first datapoint included in the synthetic object data to a second datapoint included in the real object data, wherein the first and second datapoints are included in a training dataset and are expressed by patches, sampled at random from training depth images, and a tuple (a, p, v) of viewpoint (a), an indication (p) of a joint closest to the datapoint and a vector set (v) including a plurality of vectors having directions from a reference point of a patch corresponding to a datapoint toward a plurality of joints included in the articulated object is assigned to the labeled real object data and to the labeled synthetic object data; and determining that the synthetic object data is associated with the real object data when joint locations indicated by the datapoints of the labeled synthetic object data and the labeled real object data match; selecting, at random, one of a first quality function (Q tss) and a second quality function (Q apv); recursively generating branch nodes to determine branching directions of data input into the estimator using the selected quality function, and transferring training data from generated current nodes to child nodes or leaf nodes; and thereby generating a decision tree using the nodes.