В YOLOv5 я запускаю обнаружение объектов на специально обученной модели в Jupyter Notebook. Я могу получить результаты в формате тензора или Pandas с помощью results.pandas().xyxy[0] или results.xyxy[0]. Часто достоверность для класса каждого обнаружения не совсем 100 %, что означает, что модель также рассчитывает уверенность в том, что данное обнаружение относится к любому другому классу. Есть ли способ получить к этому доступ?
Я хочу использовать эту информацию для расчета класса, взвешенного по достоверности. Мне все равно нужно получить ограничивающие рамки и общий класс, но я также должен получить доступ: класс 0 – 9 %, класс 1 – 80 %, класс 2 – 11 %, класс 3 – 0 %, чтобы я мог вычислить взвешенный класс (в данном случае это 1,02).
В YOLOv8 я могу использовать result.probs для получения такой информации, как топ-5 классов достоверности, но это работает только с функцией классификации, а не для обнаружения. Я не уверен, доступна ли эта информация в YOLOv5 (или YOLOv8 для функции обнаружения).
Запуск флага классов при использовании модели и проверка каждого класса по одному Мне пришлось бы корректировать значения достоверности, но даже это не дает желаемых результатов. Снижение всего лишь до 5% по-прежнему дает мне те же результаты обнаружения, что и при запуске модели для всех классов. Другой вариант — отдельная модель для каждого из моих классов, но это не идеально.
Подробнее здесь: https://stackoverflow.com/questions/787 ... n-could-be