Ошибка при отображении детектора маски на изображениях

#python

Вопрос:

Всем привет, могу я спросить, почему каскад face haar не работает в Каггле? Он показывает изображение, но не перезаписывает квадрат обнаружения предполагаемой маски. я создаю свой проект об обнаружении лиц людей, носящих или не носящих маску на изображениях. тем не менее, я всегда сталкиваюсь с проблемой с лицом haarcascade. Входные данные также находятся в каталоге в Kaggle. Я новый пользователь kaggle и только недавно обнаружил это, поэтому я не так хорошо знаком с этой платформой. Я новичок в python, и, хе-хе, мне нужно знать, почему это не работает. Спасибо!

 import tensorflow as tf
import keras
from tensorflow.keras.applications.mobilenet_v2 import preprocess_input
from tensorflow.keras.preprocessing.image import img_to_array
from tensorflow.keras.preprocessing.image import load_img
import numpy as np
import argparse
import cv2
import os
import matplotlib.pyplot as plt
%matplotlib inline
model = tf.keras.models.load_model("../input/my-modelh5/my_model.h5")
images=['../input/example/example_01.png', '../input/example/example_02.png','../input/example/example_03.png' ]
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades  'haarcascade_frontalface_default.xml')
img = images[0]    # Add path here
    
img = plt.imread(img,format='8UC1')
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
gray = np.array(gray, dtype='uint8')
faces = face_cascade.detectMultiScale(gray, 1.3, 5)

# Draw the rectangle around each face
for (x, y, w, h) in faces:

    face = img[y:y h, x:x w]
    face = cv2.resize(face, (224, 224))
    face = img_to_array(face)
    face = preprocess_input(face)
    face = np.expand_dims(face, axis=0)
    (mask, withoutMask) = model.predict(face)[0]
    mask = mask*100
    withoutMask = withoutMask*100
    
    font = cv2.FONT_HERSHEY_SIMPLEX
    
    # Getting Text Size in pixel
    print("Image Width: " , w)
    textSize = cv2.getTextSize(text="No Mask: "   str("%.2f" % round(mask, 2)), fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=1, thickness=3)
    print("Text Width: " , textSize[0][0])
    
    if mask > withoutMask:
        cv2.putText(img,
                    text = "Mask: "   str("%.2f" % round(mask, 2)),
                    org = (x-5,y-15),
                    fontFace=font,
                    fontScale = (2*w)/textSize[0][0],
                    color = (0, 255, 0),
                    thickness = 3,
                    lineType = cv2.LINE_AA)
        cv2.rectangle(img, (x, y), (x w, y h), (0,255,0), 5)
    else:
        cv2.putText(img,
                    text = "No Mask: "   str("%.2f" % round(withoutMask, 2)),
                    org = (x-5,y-15),
                    fontFace=font,
                    fontScale = (1.8*w)/textSize[0][0],
                    color = (255, 0, 0),
                    thickness = 3,
                    lineType = cv2.LINE_AA)
        cv2.rectangle(img, (x, y), (x w, y h), (255, 0, 0), 5)

# Display
plt.imshow(img)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)