From classical techniques to convolution-based models: A review of object detection algorithms