QQ837952151 2023-04-10 20:38 采纳率: 75%
浏览 192
已结题

在使用目标识别训练时出现error: (-215:Assertion failed) s >= 0 in function 'setSize'

在使用目标识别训练时。出现了以下问题,训练集为lfw

 File "train_face.py", line 41, in <module>
    recognizer.train(x_train, np.array(y_labels))
cv2.error: OpenCV(4.5.4) /tmp/pip-wheel-4s1eeqwm/opencv-contrib-python_94a16b66d4594a43bcabaeb968fd51a1/opencv/modules/core/src/matrix.cpp:250: error: (-215:Assertion failed) s >= 0 in function 'setSize'

以下是我的代码

import os
import cv2
import numpy as np
import pickle
import face_recognition
import matplotlib.pyplot as plt

current_id = 0
label_ids = {}
x_train = []
y_labels = []
loss_values = []

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
image_dir = os.path.join(BASE_DIR,"dataset")

for root,dirs,files in os.walk(image_dir):
    for file in files:
        path = os.path.join(root, file)
        image = face_recognition.load_image_file(path)
        face_locations = face_recognition.face_locations(image)
        face_encodings = face_recognition.face_encodings(image, face_locations)

        label = os.path.basename(root)
        if not label in label_ids:
            label_ids[label] = current_id
            current_id += 1
            id_ = label_ids[label]
            print(label_ids)

            for face_encoding in face_encodings:
                x_train.append(face_encoding)
                y_labels.append(id_)

#print(x_train)
print(y_labels)
with open ("label.pickle","wb") as f:
    pickle.dump(label_ids, f)

recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.train(x_train, np.array(y_labels))
recognizer.save("mytrainer.yml")

loss_values = recognizer.getTrainStatus()
iterations = [x['iteration'] for x in loss_values]
losses = [x['loss'] for x in loss_values]

plt.plot(iterations, losses)
plt.xlabel('Iteration')
plt.ylabel('Loss')
plt.show()

  • 写回答

1条回答 默认 最新

  • youcans_ 人工智能领域优质创作者 2023-04-10 22:51
    关注

    (1) 你安装了 opencv-contrib-python 吗?
    (2) 在 Line 40 之前检查一下 xtrain, ylabels 的形状,最好 cv.imshow 一下 xtrain 的每张图片

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月18日
  • 已采纳回答 4月10日
  • 创建了问题 4月10日

悬赏问题

  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥50 我撰写的python爬虫爬不了 要爬的网址有反爬机制
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥120 计算机网络的新校区组网设计
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等