Почему экспорт YOLOv7 в формат ONNX выдает необработанные логиты вместо нормализованных баллов уверенности?
Краткое содержание
Я обучил одноклассовую модель YOLOv7 для обнаружения грызунов (класс: крыса) и экспортировал её в формат ONNX с использованием стандартного скрипта standardexport.py, предоставленного в официальном репозитории YOLOv7. Обучение прошло успешно, обнаружения в PyTorch выглядят разумно. После экспорта, при проверке выходных данных ONNX модели, я вижу, что оценки уверенности представлены сырыми логитами, а не значениями в диапазоне [0,1]. Например, я получаю выходы, такие как score=248.0 вместо вероятности. Когда я загружаю эту модель в Frigate (с использованием бэкенда OpenVINO), эти логиты интерпретируются как вероятности, что приводит к абсурдным процентам (например, 20000%) и сбоям трекера из-за NaNs. Я понимаю, что в YOLO предсказания обьективности и класса обычно проходят через активацию сигмоиды во время инференса. Но, похоже, в пути экспорта ONNX эта активация не включается (или применяется несогласованно). Мои вопросы: Концептуально, должна ли головка обнаружения, экспортированная в ONNX, содержать активации сигмоиды, или ожидается, что они будут исключены? Почему экспорт сохраняет логиты
Полный текст статьи пока не загружен.