Я использую структуру Caffe для обучения CNN. Моя цель - выполнить простое распознавание объектов для нескольких базовых категорий объектов. Поскольку предварительно подготовленные сети не являются альтернативой для моего предлагаемого использования, я подготовил собственный учебно-испытательный набор с примерно 1000 изображениями для каждого из 2-х классов (например, стулья и автомобили).Отрицательные примеры учебных образов для CNN
Результаты довольно хорошие. Если я представляю еще невидимый образ стула, он, скорее всего, классифицируется как таковой, то же самое для изображения автомобиля. Моя проблема заключается в том, что результаты на разных изображениях, которые не показывают ни одного из этих классов, часто показывают очень высокую достоверность (= 1) для одного случайного класса (что неудивительно в отношении данных одностороннего обучения, но проблема для моего приложения). Я думал о различных решениях:
1) Добавление третьего класса, а также около 1000 отрицательных примеров, показывающих любые объекты, кроме стула и автомобиля.
2) Добавление большего количества категорий объектов в целом, чтобы сеть классифицировала другие объекты как таковые, а не как стул или автомобиль (разумеется, это потребует больших усилий). Возможно, также более широкие результаты прогнозирования показали бы более равномерное распределение на отрицательных изображениях, позволяя оценить присутствие целевых объектов на основе порога?
Поскольку для захвата случайных изображений в качестве негативных примеров из Интернета было не так много времени, я уже проверил свое первое решение с примерно 1200 отрицательными примерами. Это помогло, но проблема остается, возможно, потому, что ее было слишком мало? Я обеспокоен тем, что, если я увеличиваю число отрицательных примеров, дисбаланс числа примеров для каждого класса приводит к менее точному обнаружению исходных классов. После некоторых исследований я нашел один человек с подобной проблемой, но не было никакого решения: Convolutional Neural Networks with Caffe and NEGATIVE IMAGES
Мой вопрос: Кто-нибудь имел такую же проблему и знает, как с этим бороться? Каким образом вы порекомендовали бы, добавив больше отрицательных примеров или более категорий объектов, или у вас есть какая-либо другая рекомендация?