Похожую вещь делают программы анализирующие отпечатки пальцев, сетчатку глаз и т.п. Функционалы эти — на самом деле инварианты задачи (т.е. величины не меняющиеся при изменениях картинки не меняющих некоего важного смысла). Зная задачу сказать какие у нее инварианты не просто, а если задача неизвестна — то абсолютно невозможно