По расписанным тобою шагам алгоритм следующий:
1) Картиночки обрабатываем в бэкэнде на Python, там очень много библиотек для машинного зрения, обучения. Можно задействовать Deep Learning и строить нейронку по мере наполнения базы с классификацией.
2) Привязываем красивый фронтенд с формочкой для заливки изображения юзера, которое отправляем нейронке в бэкэнд и она его распознает. Выдаст класс изображения и картиночки с тем же классом. Результат шлем обратно фронтенду.
Подробно описано тут:
https://medium.com/@innarticle/how-to-create-image...