В общем, в аниме Eden of the East есть одноименное приложение, которое умеет следующие вещи:
- Делаешь фото, система распознает, что на нем изображено, используя данные, залитые другими пользователями. Система умеет распознавать и вещи, и лица людей.
- Делаешь фото, система говорит, что не может распознать то, что на нем изображено. Заливаешь фото в систему, и другие пользователи говорят, что там изображено. После этого если другой пользователь фотографирует объект, то система его уже распознает и выдает то, что написали другие пользователи. То есть, для «обучения» достаточно одного образца.
- Можно написать, что изображено на нераспознанных (или распознанных) фотографиях, сделанных другими пользователями. Эдакая соцсеть-википедия.
По сюжету, конечно же, приложение написано одним раздолбаем (или раздолбайкой) :-D
Я так понимаю, главная проблема в таком приложении - собственно, распознавание изображений. Если идти более-менее в лоб, то для обучения модели нужно огромное количество примеров, а нужно, чтобы было достаточно одного. Если подобрать достаточно обобщённый набор свойств (тоже нерешенная задача... есть ли какие-либо более-менее работающие подходы?), которые сделают возможным быстро определить, насколько похожи два объекта, то можно будет определить объект, просто сравнив его со всеми другими, и тогда в теории достаточно одного примера. Но тогда в такой базе ещё и сложно искать («просто перебрать всё» - не масштабируется, хотя, возможно, достаточно для того масштаба, что в аниме).
Другая проблема - «как понять, что на изображении что-то неизвестное системе». Зависит от решения предыдущей задачи. Но, например, с лицами сложно: как избежать выдачи просто отдаленно похожего лица? Ведь лица разных людей более похожи одно на другое, чем, например, один ресторан одной сети на другой ресторан той же сети.
В общем, насколько далеки сейчас технологии от реализации подобного приложения?