Возможно, что-то не так, когда вы изменяете файл cfg (классы, фильтры и т. Д.). В любом случае, какова цель вашей задачи? Вы действительно должны переучить модель, или вам нужно только отфильтровать 1 класс и сделать обнаружение?
Если вы хотите отфильтровать метку Person только из 80 классов, вы можете просто сделать этот обходной метод. Вам не нужно переучивать модель, вам просто нужно использовать вес, указанный автором на сайте yolo.
Для простого и простого способа с использованием набора данных COCO выполните следующие действия:
- Измените (или скопируйте для резервного копирования) файл
coco.names
в darknet\data\coco.names
- Удалите все остальные классы, кроме person
- Измените свой файл cfg (например,
yolov3.cfg
), измените 3 классов в строке 610, 696, 783 с 80 на 1 - Измените фильтр 3 s в файле cfg в строке 603, 689, 776 с 255 до 18 (получено из
(classes+5)x3
) - Запустите детектор
./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/your_image.jpg
. Более продвинутый способ , используя набор данных COCO , вы можете использовать этот репозиторий для создания наборов данных yolo на основе голоса, кокоса или открытых изображений. https://github.com/holger-prause/yolo_utils.
См. Также: Как загрузить определенную часть набора данных Coco?