Удаление объектов из caffemodel, OpenCV

#python #c #opencv #caffe #densenet

Вопрос:

В настоящее время я использую модель dnn DenseNet_121 для набора данных ImageNet с платформой Caffe в OpenCV для классификации изображений.

Моя проблема в том, что я хочу знать только, находится ли в кадре конкретный объект, скажем, тигр, а не вероятность всех 1000 объектов набора данных ImageNet.

Чтобы решить эту проблему, я создал отдельный my_objects.txt файл с интересующими меня объектами. Затем я проверяю, находится ли объект набора данных ImageNet с наибольшей вероятностью нахождения в кадре в этом my_objects.txt файл.

Проблема в том, что он довольно медленный (работает на raspberry pi). Я предполагаю, что это связано с тем, что модель вычисляет вероятность для всех 1000 объектов, а не только для тех немногих, которые меня действительно интересуют.

Есть ли способ удалить другие объекты из модели, чтобы ускорить процесс?

Файлы, которые у меня есть, это:

  • DenseNet_121.кофейная модель
  • DenseNet_121.протобуф
  • classification_classes_ILSVRC2012.txt (перечисляет 1000 объектов набора данных ImageNet)
  • my_objects.txt (перечисляет объекты classification_classes_ILSVRC2012, которые представляют интерес)

Был бы благодарен, если бы кто-нибудь мог мне помочь!

Комментарии:

1. тяжелая работа происходит внизу (на входе) вашего nn, а не вверху (на выходе). удаление классов вообще не поможет