Methods and software utilizing artificial neural networks (ANNs) to estimate density and/or flow (speed) of objects in one or more scenes each captured in one or more images. In some embodiments, the ANNs and their training configured to provide reliable estimates despite one or more challenges that include but are not limited to, low-resolution images, low framerate image acquisition, high rates of object occlusions, large camera perspective, widely varying lighting conditions, and widely varying weather conditions. In some embodiments, fully convolutional networks (FCNs) are used in the ANNs. In some embodiments, a long short-term memory network (LSTM) is used with an FCN. In such embodiments, the LSTM can be connected to the FCN in a residual learning manner or in a direct connected manner. Also disclosed are methods of generating training images for training an ANN-based estimating algorithm that make training of the estimating algorithm less costly.