как обработать ограничивающий прямоугольник результат YOLOv2 - PullRequest
0 голосов
/ 23 июня 2019

Извините за мои ограниченные знания об ИИ.Но я пытаюсь использовать YOLOv2 (в частности, darkflow) для идентификации моего объекта.У меня есть 100 изображений, и я тренировался с 1000 эпохами.Тем не менее, мой вывод не совсем то, что инструкции, которые я читаю онлайн.Слишком много коробок для появления, и у меня есть только один объект, который можно идентифицировать на картинке.Это мой тестовый файл.Также мне хотелось бы узнать эффект «порога» в «опциях».Где сейчас находится моя проблема?Пожалуйста, дайте мне знать.

from darkflow.net.build import TFNet
import numpy as np
import cv2
import time
import pprint as pp

options = {
            "model": "cfg/yolov2-voc-1c.cfg",
            "load": -1,
            "threshold": 0.01
        }

tfnet2 = TFNet(options)

tfnet2.load_from_ckpt()

def boxing(original_img, predictions):
    newImage = np.copy(original_img)

    for result in predictions:
        top_x = result['topleft']['x']
        top_y = result['topleft']['y']

        btm_x = result['bottomright']['x']
        btm_y = result['bottomright']['y']

        confidence = result['confidence']
        label = result['label'] + " " + str(round(confidence, 3))

        if confidence > 0.06:
            newImage = cv2.rectangle(newImage, (top_x, top_y), (btm_x, btm_y), (255,0,0), 3)
            newImage = cv2.putText(newImage, label, (top_x, top_y-5), cv2.FONT_HERSHEY_COMPLEX_SMALL , 0.8, (0, 230, 0), 1, cv2.LINE_AA)

    return newImage

original_img = cv2.imread("data_test.jpg")
original_img = cv2.cvtColor(original_img, cv2.COLOR_BGR2RGB)
result = tfnet2.return_predict(original_img)

new_frame = boxing(original_img, result)

cv2.imwrite('output.jpg', new_frame)

Результат изображения:

enter image description here

1 Ответ

1 голос
/ 23 июня 2019

Вы используете очень низкий порог = 0,01, это означает, что модель будет считать, что она обнаружила объект, если вероятность выше 1%, обычно мы используем значение порога больше 25%.Также рассмотрите возможность изменения доверия.

...