Я работаю над проектом, в котором мне нужно обнаруживать лица в очень грязных видео (записанных с эгоцентрической точки зрения, так что вы можете себе представить …). У граней могут быть углы рыскания, варьирующиеся от -90 до +90, высота тона почти одинаковая (ну, немного ниже из-за ограничений человеческого тела …) и, возможно, также некоторые вариации крена.
Я потратил много времени на поиск какого-нибудь независимого детектора лица. В моем проекте я использую OpenCV, но детектор лица OpenCV даже близко не соответствует нужной мне частоте обнаружения. Он имеет очень хорошие результаты на фронтальных гранях, но почти нулевые результаты на гранях профиля. Использование haarcascade .xml файлов, обученных на изображениях профиля, не очень помогает. Объединение фронтальных и профильных каскадов дает немного лучшие результаты, но все же, даже близко не к тому, что мне нужно.
Тренировка моего собственного haarcascade будет моим самым последним ресурсом с тех пор, как потребуются огромные вычислительные (или временные) требования.
К настоящему времени я прошу любую помощь или любой совет по этому вопросу.
Требования к детектору лица, которые я мог бы использовать:
Реальное время сейчас не проблема, скорость обнаружения — это все, что мне сейчас важно.
Я видел много работ, достигающих этих результатов, но я не смог найти ни одного кода, который мог бы использовать.
Я искренне благодарен за любую помощь, которую вы сможете оказать.
возможно, не ответ, но слишком длинный, чтобы комментировать.
Вы можете использовать opencv_traincascade.exe для обучения нового детектора, который может обнаруживать более широкий спектр поз. этот пост может помочь http://note.sonots.com/SciSoftware/haartraining.html. мне удалось обучить детектор, который чувствителен в пределах -50: +50 лет назад, используя набор данных фрет. в моем случае мы не хотели обнаруживать чисто боковые грани, поэтому данные для подготовки готовятся соответствующим образом. Так как фрет уже предоставляет удобные варианты позы, возможно, будет возможно обучить детектор, который будет немного соответствовать вашей спецификации. Время не является проблемой, если вы используете функции LBP, обучение завершается максимум за 4-5 часов, и оно идет еще быстрее (15-30 минут), устанавливая соответствующие параметры и используя меньше данных тренировки (полезно для определения того, собирается ли детектор произвести вывод, который вы ожидали).
Других решений пока нет …