Я думаю, что для вашей задачи вы можете использовать классификатор каскадов Хаара. Это подход, основанный на машинном обучении, где каскадная функция обучается множеству положительных и отрицательных изображений. Затем он используется для обнаружения объектов на других изображениях.
Существует хорошая реализация openCV, как с тренером, так и с детектором. В Интернете вы можете даже найти много XML-файлов, которые являются результатом учебной части, и использовать эти .xml-файлы для непосредственного обнаружения. Даже если я не уверен, что вы можете найти эти файлы для обнаружения задней части автомобиля.
В этой ссылке вы можете узнать основы метода и вы можете даже понять, как использовать его в OpenCV http://docs.opencv.org/master/d7/d8b/tutorial_py_face_detection.html#gsc.tab=0
В этом случае вам не нужно 4 функции, которые вы предложили, но, возможно, вы можете используйте это с другим альготритом в конце конвейера Каскадного классификатора Хаара для двойной проверки.