Есть много способов, чтобы идти о решении этой проблемы, однако решение, я думаю, что, вероятно, имеют наилучшие шансы на успех будет тренировать свой собственный Хаара каскад.
Вам потребуется ALOT изображений, содержащих птиц и шибко в изображений без птиц. Если у вас уже есть доступ к этому набору данных, вам нужно проанализировать, то у вас уже есть много изображений (некоторые из которых вы можете тренироваться с)
Хаара каскада в основном выполняет поиск изображения для моделей она была обучена распознавать (например, лица, глаз, носа и т.д., который поставляется с OpenCV)
Here является ссылка учебник/инструменты для обучения Ур собственный каскад как можно более безболезненным.
Следуйте инструкциям, и в конце вы должны иметь файл XML, который будет вашим каскадом для птиц.
Here это учебник о том, как использовать ваш новый каскад. Я предлагаю вам ознакомиться с тем, как работают каскадные классификаторы в целом, поскольку это поможет вам понять, какие изображения нужно обучать, и какие настройки вы можете сделать для своих изображений, чтобы обеспечить наилучшие возможности обнаружения.
Другим вариантом, который вы могли бы преследовать, было бы просто использовать OpenCV для предварительной обработки, а затем отправить изображение в нейронную сеть для классификации.
Это может быть связано с удалением как можно большего количества «фонового шума» из изображения, такого как удаление цвета ярко-зеленого цвета (если у вас нет ярко-зеленых птиц, конечно), плавное и масштабирование изображения (снимите с сеть), а затем подключите остальную информацию к вашей сети. Я понятия не имею, насколько успешным это может быть, поскольку я никогда не использовал сеть для обнаружения, только для распознавания лиц, но на этом неплохо справился, так что сделайте снимок.
Удачи, и я надеюсь, что это поможет.
Речь идет не о OpenCV или C++, а вообще о программировании. Речь идет о конвейере решений. Вы приближаетесь к проблеме с ног на голову. –