Для начало желательно что бы оно могло распознавать простейшие геометрические фигуры. Единственное мое соображение по этому поводу так это то что надо что бы программа искала движущиеся фигуры и потом проверяла их по базе данных.
Мне в своё время помог вот этот сайт. На нем много несложных, но интересных примеров, с которых можно начать. Там же продаются две книги - начальная теоретическая база и разбор нескольких кейсов.