OpenVINO™ 및 Ultralytics 로드 모델이 서로 다른 입력을 수신하여 결과에 차이가 있는 것으로 보입니다.
로컬 환경에서 실행하려면 다음과 같은 몇 가지 변경 사항을 적용해야 합니다.
04-04-사고-recog.ipynb
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)
Image.fromarray(result.plot()[:,:,::-1].astype(np.uint8))
04-05-모델 서빙.ipynb
노트북 자체에는 변경 사항이 없습니다. remote_infer.py에서 필요한 변경 사항.
// 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
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]))