Zum Hauptinhalt wechseln
Support-Wissensdatenbank

Die Inferenzergebnisse divergieren im Vergleich zur lokalen Umgebung und OpenVINO™ Modellserver (OVMS) für dasselbe Modell

Inhaltstyp: Fehlerbehebung   |   Artikel-ID: 000098271   |   Letzte Überprüfung: 01.04.2024

Beschreibung

Lösung

Es scheint, dass OpenVINO™ und Ultralytics-geladene Modelle unterschiedliche Eingaben erhalten haben, was den Unterschied in den Ergebnissen verursacht.

Es müssen einige Änderungen vorgenommen werden, um in einer lokalen Umgebung ausgeführt werden zu können:

04-04-accident-recog.ipynb

  1. Zelle mit Lese-Eingabebild und laufender Vorhersage:

    original_image: np.ndarray = cv2.imread("images/carImage3.jpg")
    blob = cv2.dnn.blobFromImage(original_image, size=(640, 640), swapRB=False)
    blob = np.ascontiguousarray(blob[0].transpose((1,2,0)))
    results = model.predict(blob)

  2. Zelle, die Ergebnisse auf dem Originalbild zeichnet:

    Image.fromarray(result.plot()[:,:,::-1].astype(np.uint8))

04-05-model-serving.ipynb

Keine Änderungen am Notebook selbst. Erforderliche Änderungen in remote_infer.py.

  1. Vorverarbeitungsmethode:

    // code placeholder
    def preprocess(image_path):
    original_image: np.ndarray = cv2.imread(image_path)
    [height, width, _] = original_image.shape

    # Calculate scale factor
    scale = (height/640, width/640)

    # Preprocess the image and prepare blob for model
    blob = cv2.dnn.blobFromImage(original_image, scalefactor=1 / 255, size=(640, 640), swapRB=True)
    return blob, scale, original_image

  2. Aufruf an draw_bounding_box innerhalb des Nachprozesses:

    draw_bounding_box(original_image, class_ids[index], scores[index], round(box[0] * scale[1]), round(box[1] * scale[0]),round((box[0] + box[2]) * scale[1]), round((box[1] + box[3]) * scale[0]))

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1-Produkte.

Disclaimer / Rechtliche Hinweise

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.