Я использую модель Faster R-CNN Inception ResNet v2 из API обнаружения объектов Tensorflow для обучения CNN обнаружению знаков безопасности. Поскольку у меня нет набора данных реального изображения, я написал код, который создает искусственный набор данных, состоящий из нарисованных компьютером изображений знаков и реальных фоновых изображений из общедоступных наборов данных (GTSDB, KITTI и т. Д.). Обученная модель отлично работает с невидимыми искусственными изображениями, но не работает с реальными тестовыми изображениями, которые я сделал с помощью своего iPhone 5SE.
У меня уже есть различные техники увеличения данных из imgaug (https://imgaug.readthedocs.io/en/latest/index.html) и поискал в Интернете решение, но безуспешно для поиска реальных изображений.
Кроме того, изменение размера тестовых изображений до размера, близкого к размеру обучающих изображений, и их преобразование в .png не имеет никакого эффекта.
Одно из моих искусственных изображений, которое я использую для обучения (размер: 640x480, формат: .png):
И одно из реальных тестовых изображений, которое следует использовать для тестирования модели (размер: 3024x4032, формат: .JPG):
Я считаю, что мои изображения недостаточно близки к реальным изображениям и, следовательно, классификация последних не работает. Другая идея состоит в том, что мой набор данных не включает достаточно «нормальных» (не сильно расширенных изображений, которые не были дополнены большим количеством гауссовского шума, вращения, масштабирования и т. Д.) Обучающих изображений. Есть идеи, как сделать мои тренировочные образы более реалистичными? Любой другой вклад также приветствуется.