A moving state analysis device comprising: a detection unit configured to detect, from image data associated with a frame, an object and a region of the object, for each of frames that constitute first video data captured in a course of movement of a first moving body, wherein the region of an object represents the boundary region in which the object in the image data is detected; a generation unit configured to generate, based on a detection result of the object by the detection unit, spatial feature embedded data that is data indicating for each object a feature of a region in which the object appears; a learning unit configured to learn a DNN model that takes video data, sensor data, and the spatial feature embedded data generated based on the video data as input and that outputs a probability of each moving state, based on the first video data, a feature of first sensor data measured in relation to the first moving body and corresponding to a capture of the first video data, the data generated by the generation unit, and information that indicates a moving state associated with the first video data, the feature of the first sensor data including an acceleration of the first moving body; and a calculation unit configured to calculate a probability of each moving state based on the learned DNN model from the learning unit, wherein the learned DNN model includes a convolutional layer A that extracts a feature from the image data, a fully-connected layer A that further abstracts the feature obtained from the convolutional layer A, a convolutional layer B that extracts a feature from the spatial feature embedded data, a fully-connected layer B that further abstracts the feature obtained from the convolutional layer B, a fully-connected layer C that abstracts a feature vector of the sensor data, an LSTM that further abstracts, as sequential data, features output from the fully-connected layer A, the fully-connected layer B, and the fully-connected layer C, and a fully-connected layer D that calculates a probability vector with respect to each moving state by applying a sequential feature abstracted by the LSTM. a detection unit configured to detect, from image data associated with a frame, an object and a region of the object, for each of frames that constitute first video data captured in a course of movement of a first moving body, wherein the region of an object represents the boundary region in which the object in the image data is detected; a generation unit configured to generate, based on a detection result of the object by the detection unit, spatial feature embedded data that is data indicating for each object a feature of a region in which the object appears; a learning unit configured to learn a DNN model that takes video data, sensor data, and the spatial feature embedded data generated based on the video data as input and that outputs a probability of each moving state, based on the first video data, a feature of first sensor data measured in relation to the first moving body and corresponding to a capture of the first video data, the data generated by the generation unit, and information that indicates a moving state associated with the first video data, the feature of the first sensor data including an acceleration of the first moving body; and a calculation unit configured to calculate a probability of each moving state based on the learned DNN model from the learning unit, wherein the learned DNN model includes a convolutional layer A that extracts a feature from the image data, a fully-connected layer A that further abstracts the feature obtained from the convolutional layer A, a convolutional layer B that extracts a feature from the spatial feature embedded data, a fully-connected layer B that further abstracts the feature obtained from the convolutional layer B, a fully-connected layer C that abstracts a feature vector of the sensor data, an LSTM that further abstracts, as sequential data, features output from the fully-connected layer A, the fully-connected layer B, and the fully-connected layer C, and a fully-connected layer D that calculates a probability vector with respect to each moving state by applying a sequential feature abstracted by the LSTM.