Я играл с TensorFlow совершенно новым API обнаружения объектов и решил обучить его некоторым другим общедоступным наборам данных.
Мне довелось наткнуться на этот набор данных бакалеи, который состоит из изображений различных марок сигаретных ящиков на полке супермаркета вместе с текстовым файлом в котором перечислены ограничивающие прямоугольники каждой коробки для сигарет на каждом изображении. 10 основных брендов были помечены в наборе данных, а все остальные бренды попадают в 11-ю категорию "разные".
Я выполнил их учебник и смог обучить модель этому набору данных. Из-за ограничений по мощности обработки я использовал только треть набора данных и выполнил разделение на 70:30 для обучения и тестирования данных. Я использовал модель quick_rcnn_resnet101. Все параметры в моем файле конфигурации такие же, как параметры по умолчанию, предоставленные TF.
После 16491 глобальных шагов я тестировал модель на некоторых изображениях, но я не очень доволен результатами -
Не удалось обнаружить верблюдов на верхней полке, тогда как обнаруживает продукт на других изображениях
Почему он не может обнаружить Marlboros в верхнем ряду?
Еще одна проблема, которую я испытывал, заключается в том, что модель никогда не обнаруживала никакой другой метки, кроме метки 1
Не обнаружено экземпляра урожая продукта из данных обучения
Он обнаруживает сигаретные коробки с уверенностью 99% даже в негативных изображениях!
Может кто-нибудь помочь мне в том, что происходит не так? Что я могу сделать для повышения точности? И почему он обнаруживает, что все продукты принадлежат к категории 1, хотя я уже упоминал, что всего 11 классов?
Изменить Добавлена карта ярлыков:
item {
id: 1
name: '1'
}
item {
id: 2
name: '2'
}
item {
id: 3
name: '3'
}
item {
id: 4
name: '4'
}
item {
id: 5
name: '5'
}
item {
id: 6
name: '6'
}
item {
id: 7
name: '7'
}
item {
id: 8
name: '8'
}
item {
id: 9
name: '9'
}
item {
id: 10
name: '10'
}
item {
id: 11
name: '11'
}