A skeleton estimation device comprising: a specification unit configured to acquire three-dimensional information of a plurality of observation points on a subject from a distance sensor , specify a first area and a plurality of second areas adjacent to the first area from areas of the subject based on the three-dimensional information, specify positions of a plurality of feature points (6a, 6d - 6k) included in the second areas , and specify, based on model data , a part of the subject corresponding to each feature point (6a, 6d - 6k), wherein model data are information defining types of subject models and three-dimensional coordinates of each part of the subject models; a first estimation unit configured to set links, wherein each link extends between two endpoints calculated based on the feature points (6a, 6d - 6k) included in the second areas , to estimate positions of skeletons included in the second areas ; and a second estimation unit configured to use end points of the skeletons included in the second areas which have a fixed length from the end point to a position of a part of the subject included in the first area , and the fixed lengths, among a plurality of parameters used, to specify the positions of a plurality of parts of the subject included in the first area , and to estimate a position of a skeleton included in the first area based on the specified positions, wherein the plurality of parameters include an angle parameter, and the second estimation unit is configured to change the angle parameter to calculate a plurality of candidates for the position of the plurality of parts included in the first area , and specify, as the plurality of parts included in the first area , a candidate, among the plurality of candidates, close to a position of a part included in the first area specified by the specification unit based on the model data . a specification unit configured to acquire three-dimensional information of a plurality of observation points on a subject from a distance sensor , specify a first area and a plurality of second areas adjacent to the first area from areas of the subject based on the three-dimensional information, specify positions of a plurality of feature points (6a, 6d - 6k) included in the second areas , and specify, based on model data , a part of the subject corresponding to each feature point (6a, 6d - 6k), wherein model data are information defining types of subject models and three-dimensional coordinates of each part of the subject models; a first estimation unit configured to set links, wherein each link extends between two endpoints calculated based on the feature points (6a, 6d - 6k) included in the second areas , to estimate positions of skeletons included in the second areas ; and a second estimation unit configured to use end points of the skeletons included in the second areas which have a fixed length from the end point to a position of a part of the subject included in the first area , and the fixed lengths, among a plurality of parameters used, to specify the positions of a plurality of parts of the subject included in the first area , and to estimate a position of a skeleton included in the first area based on the specified positions, wherein the plurality of parameters include an angle parameter, and the second estimation unit is configured to change the angle parameter to calculate a plurality of candidates for the position of the plurality of parts included in the first area , and specify, as the plurality of parts included in the first area , a candidate, among the plurality of candidates, close to a position of a part included in the first area specified by the specification unit based on the model data . <EOS>