A three-dimensional point cloud generation method for generating, using a processor, a three-dimensional point cloud including a plurality of three-dimensional points, the three-dimensional point cloud generation method comprising: obtaining (i) a plurality of two-dimensional images obtained by imaging a three-dimensional object from different viewpoints and (ii) a first three-dimensional point cloud obtained by sensing the three-dimensional object; detecting, from each of the plurality of two-dimensional images obtained, one or more attribute values of the two-dimensional image that are associated with a position in the two-dimensional image; characterized by outputting one or more pairs of matched attribute values, the matched attribute values being obtained by matching attribute values associated with two two-dimensional images from the plurality of two-dimensional images using the one or more attribute values detected for each of the plurality of two-dimensional images; and generating a second three-dimensional point cloud including one or more second three-dimensional points each having an attribute value, by performing, for each of the one or more attribute values detected: (i) identifying, for each of the one or more pairs, one or more first three-dimensional points, among the plurality of three-dimensional points forming the first three-dimensional point cloud, to which a position of two attribute values forming the pair corresponds, using (i) a position in the two-dimensional image of each of the two attribute values forming the pair, and (ii) the different viewpoints when imaging the two two-dimensional images; and (ii) appending, for each of the one or more pairs, to the one or more first three-dimensional points identified an attribute value based on the two attribute values forming the pair. obtaining (i) a plurality of two-dimensional images obtained by imaging a three-dimensional object from different viewpoints and (ii) a first three-dimensional point cloud obtained by sensing the three-dimensional object; detecting, from each of the plurality of two-dimensional images obtained, one or more attribute values of the two-dimensional image that are associated with a position in the two-dimensional image; characterized by outputting one or more pairs of matched attribute values, the matched attribute values being obtained by matching attribute values associated with two two-dimensional images from the plurality of two-dimensional images using the one or more attribute values detected for each of the plurality of two-dimensional images; and generating a second three-dimensional point cloud including one or more second three-dimensional points each having an attribute value, by performing, for each of the one or more attribute values detected: (i) identifying, for each of the one or more pairs, one or more first three-dimensional points, among the plurality of three-dimensional points forming the first three-dimensional point cloud, to which a position of two attribute values forming the pair corresponds, using (i) a position in the two-dimensional image of each of the two attribute values forming the pair, and (ii) the different viewpoints when imaging the two two-dimensional images; and (ii) appending, for each of the one or more pairs, to the one or more first three-dimensional points identified an attribute value based on the two attribute values forming the pair. (i) identifying, for each of the one or more pairs, one or more first three-dimensional points, among the plurality of three-dimensional points forming the first three-dimensional point cloud, to which a position of two attribute values forming the pair corresponds, using (i) a position in the two-dimensional image of each of the two attribute values forming the pair, and (ii) the different viewpoints when imaging the two two-dimensional images; and (ii) appending, for each of the one or more pairs, to the one or more first three-dimensional points identified an attribute value based on the two attribute values forming the pair.