Андрей
Андрей, спасибо, что прочли и ответили! Приятно осознавать, что писал не в пустоту.
Я много лет проработал тестером и постановщиком задач для программеров и был известен своим занудством и перфекционизмом. Также на 10 моих безумных предложений всегда находилось 1-2 удачных, которые после нескольких обсуждений добавлялись в разрабатываемый софт.
Так и воспринимайте мои тексты. Если что-то полезное будет, можно потом использовать в работе.
Что касается бесконечности процесса распознания, то на него обратите особое внимание. Сейчас я уже установил и мучаю digiKam. В некоторых аспектах он удобнее, хотя и недостатки перед Tonfotos я тоже уже нашел.
Главное удобство - выдача распознанных лиц конечными большими партиями. Я смотрю кино, а программа в это время активно сканирует выделенный каталог, причем поиск идет сразу по двум десяткам лиц, которым я успел присвоить имена. В качестве индикатора я запускаю диспетчер задач Windows, который показывает 90% загрузки процессора (ваша программа, почему-то только 40% - не знаю, это лучше или хуже. В обоих случаях загружен и графический движок). После того, как диспетчер показывает, что работа завершена, я могу плотно заняться подтверждением. И мне ничего новое под руку не подсовывается, пока я не закончу. Это удобнее, мне кажется.
Про точность распознавания (сравнение двух конкурентов) я позже отпишусь. Но в вашем случае однозначно надо что-то делать со вторым этапом распознавания. Вначале программа находит то, что надо, а последующие мучения надо прервать на определенном этапе. И поэтапное сканирование как нельзя для этого лучше подходит - сам пользователь принимает решение запускать ли следующий этап или уже успокоиться.