A computer-implemented method, including the steps of: receiving video data of a human embryo, the video data representing a sequence of images of the human embryo in chronological order; applying at least one three-dimensional (3D) artificial neural network (ANN) to the video data to determine a viability score for the human embryo, wherein the viability score represents a likelihood that the human embryo will result in a viable embryo or a viable fetus; and outputting the viability score.