Lewatkan ke Konten Utama
Dasar Pengetahuan Dukungan

Hasil Inferensi Berbeda Jika Dibandingkan dengan Lingkungan Lokal dan Server Model OpenVINO™ (OVMS) untuk Model yang Sama

Jenis Konten: Pemecahan Masalah   |   ID Artikel: 000098271   |   Terakhir Ditinjau: 01/04/2024

Deskripsi

  • Menggunakan repositori Pemrosesan Klaim Asuransi dan memuat Model YOLO untuk menguji akurasi.
  • Hasil inferensi berbeda antara model YOLO ONNX yang dimuat secara lokal, dan model yang sama dimuat ke dalam OVM.
  • Hasil yang diamati pada 04-accident-recog sekitar 86%, sedangkan OVMS kembali sekitar 88%.

Resolusi

Tampaknya model yang dimuat OpenVINO™ dan Ultralytics menerima input berbeda yang menyebabkan perbedaan dalam hasil.

Beberapa perubahan perlu dilakukan untuk berjalan di lingkungan lokal, ini adalah perubahannya:

04-04-kecelakaan-recog.ipynb

  1. Sel dengan membaca gambar input dan menjalankan prediksi:

    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. Sel yang menggambar hasil pada gambar asli:

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

04-05-model-serving.ipynb

Tidak ada perubahan dalam buku catatan itu sendiri. Perubahan yang diperlukan dalam remote_infer.py.

  1. Metode praproses:

    // 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. Panggilan untuk draw_bounding_box di dalam postprocess:

    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]))

Produk Terkait

Artikel ini berlaku untuk 3 produk.
Perangkat Lunak Prosesor Intel® Xeon Phi™ OpenVINO™ toolkit Pustaka Kinerja

Pelepasan Tanggung Jawab

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.