это "сверки лиц с большим(!) количеством эталонов" сколько, если не секрет?
если вы делаете поиск по всем битмапам, то просто тратите много времени в пустую. при сотнях или тысячах изображений уже нехилые объёмы данных выходят, оптимизируйте поиск. классифицируйте, чтобы отсеивать часть изображений. используйте хэш/сигнатуру/отпечаток изображения/... (называйте как хотите) для ускорения поиска. т.е. берёте изображение и создаёте небольшой по объёму набор данных, удобный для быстрого поиска. можно точно так же, как и с отпечатками пальцев использовать вейвлеты. беглый поиск в сети и первая кандидатура - габоровские вейвлеты. в opencv есть некий фильтр габора. предпологаю, что это скорей всего именно то.
в общем я вам всего-лишь идею подсказываю, а там уж сами. и да, как вариант сначала быстрым алгоритмом выбрать небольшую часть изображений (очень удобно будет ввести пороговое число "сходство изображения"), а потом уже можно анализировать изображение более тщательно, хоть десятками тяжеловесных алгоритмов.
Добавлено спустя 14 минут 53 секунды:незнаю насколько тут информация полезная по сегоднишним меркам, но как вариант
http://iai.dn.ua/public/JournalAI_2003_4/Razdel3/07_Murygin.pdf