A camera motion estimation device comprising: a first acquisition unit configured to acquire feature point correspondence information indicating correspondence between feature points included in time series images; a second acquisition unit configured to acquire pixel flow information indicating a locus of a pixel included in the time series image, using a neural network having time series images as input and loci of pixels included in the images as output or a three-dimensional position of an object that is calculated from the object included in the past time series image; a determination unit configured to calculate a feature point moving vector indicating a movement of the feature point based on the feature point correspondence information, calculate a pixel moving vector from the pixel flow information, said pixel moving vector indicating a movement of the pixel located where the feature point used for calculation of the feature point moving vector is positioned, and determine a similarity between the feature point moving vector and the pixel moving vector ; and an estimation unit configured to estimate a motion of a camera that has captured the time series images, from correspondence of the feature point between the time series images, the feature point having been used for calculation of the feature point moving vector , in a case where the similarity is equal to or larger than a first threshold, wherein the similarity is determined based on at least one of an angle between the feature point moving vector, and the pixel moving vector , and a length of a vector indicating a difference between the feature point moving vector and the pixel moving vector . a first acquisition unit configured to acquire feature point correspondence information indicating correspondence between feature points included in time series images; a second acquisition unit configured to acquire pixel flow information indicating a locus of a pixel included in the time series image, using a neural network having time series images as input and loci of pixels included in the images as output or a three-dimensional position of an object that is calculated from the object included in the past time series image; a determination unit configured to calculate a feature point moving vector indicating a movement of the feature point based on the feature point correspondence information, calculate a pixel moving vector from the pixel flow information, said pixel moving vector indicating a movement of the pixel located where the feature point used for calculation of the feature point moving vector is positioned, and determine a similarity between the feature point moving vector and the pixel moving vector ; and an estimation unit configured to estimate a motion of a camera that has captured the time series images, from correspondence of the feature point between the time series images, the feature point having been used for calculation of the feature point moving vector , in a case where the similarity is equal to or larger than a first threshold, wherein the similarity is determined based on at least one of an angle between the feature point moving vector, and the pixel moving vector , and a length of a vector indicating a difference between the feature point moving vector and the pixel moving vector . <EOS>