函数'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'中的OpenCV深度学习人脸检测断言错误

OpenCV deep learning face detection assertion error in function #39;cv::dnn::ConvolutionLayerImpl::getMemoryShapes#39;(函数#39;cv::dnn::ConvolutionLayerImpl::getMemoryShapes#39;中的OpenCV深度学习人脸检测断言错误)

本文介绍了函数'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'中的OpenCV深度学习人脸检测断言错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我跟随tutorial使用OpenCV和深度学习SSD框架从image实现了人脸检测。

modelFile = "./ssd/res10_300x300_ssd_iter_140000.caffemodel"
configFile = "./ssd/deploy.prototxt"
net = cv2.dnn.readNetFromCaffe(configFile, modelFile)
image = cv2.imread("face.jpg")
(h, w) = image.shape[:2]
blob = cv2.dnn.blobFromImage(cv2.resize(image, (300, 300)), 1.0, (300, 300), (104.0, 177.0, 123.0))
net.setInput(blob)
detections = net.forward()

detections = net.forward()返回错误:

error: OpenCV(4.0.0) C:projectsopencv-pythonopencvmodulesdnnsrclayersconvolution_layer.cpp:236: error: (-215:Assertion failed) blobs.size() != 0 in function 'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'

仍在寻找更多信息,但不知道是代码错误还是库中的错误...有人知道什么会引起问题吗?任何帮助都将不胜感激。

推荐答案

我无法同时使用OpenCV 3.4.2和OpenCV 4.0.0重现您的问题。

我得到的是:

附注:我从https://raw.githubusercontent.com/opencv/opencv_3rdparty/dnn_samples_face_detector_20170830/res10_300x300_ssd_iter_140000.caffemodel下载res10_300x300_SSD_ITER_140000.caffModel,从https://github.com/opencv/opencv/raw/3.4.0/samples/dnn/face_detector/deploy.prototxt下载部署.Prototxt。

这篇关于函数'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'中的OpenCV深度学习人脸检测断言错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:函数'cv::dnn::ConvolutionLayerImpl::getMemoryShapes'中的OpenCV深度学习人脸检测断言错误

基础教程推荐