A method for monocular depth estimation, characterized in that, the method comprises: receiving a plurality of images; selecting one or more images from the plurality of images; processing the one or more images using a first machine-learning model to generate a first predicted result; processing the one or more images using a plurality of machine-learning models to generate at least a second predicted result and a third predicted result, wherein the first machine-learning model is larger than the plurality of machine-learning models; selecting, based on a comparison of the first predicted result with the at least the second predicted result and the third predicted result, a second machine-learning model from the plurality of machine-learning models, wherein the second machine-learning model is configured to generate a depth estimation map for images of the plurality of images; and processing the plurality of images using the second machine-learning model; wherein selecting the second machine-learning model from the plurality of machine-learning models comprises: generating a second accuracy value of the second predicted result relative to the first predicted result and a third accuracy value of the third predicted result relative to the first predicted result; comparing the second accuracy value and the third accuracy value, wherein the second machine-learning model is selected based on the second accuracy value being higher than the third accuracy value. receiving a plurality of images; selecting one or more images from the plurality of images; processing the one or more images using a first machine-learning model to generate a first predicted result; processing the one or more images using a plurality of machine-learning models to generate at least a second predicted result and a third predicted result, wherein the first machine-learning model is larger than the plurality of machine-learning models; selecting, based on a comparison of the first predicted result with the at least the second predicted result and the third predicted result, a second machine-learning model from the plurality of machine-learning models, wherein the second machine-learning model is configured to generate a depth estimation map for images of the plurality of images; and processing the plurality of images using the second machine-learning model; wherein selecting the second machine-learning model from the plurality of machine-learning models comprises: generating a second accuracy value of the second predicted result relative to the first predicted result and a third accuracy value of the third predicted result relative to the first predicted result; comparing the second accuracy value and the third accuracy value, wherein the second machine-learning model is selected based on the second accuracy value being higher than the third accuracy value. generating a second accuracy value of the second predicted result relative to the first predicted result and a third accuracy value of the third predicted result relative to the first predicted result; comparing the second accuracy value and the third accuracy value, wherein the second machine-learning model is selected based on the second accuracy value being higher than the third accuracy value.